一键导入
anticapture-dashboard
Use for apps/dashboard work: routes, features, shared components/hooks, styling, data-fetching wiring, and dashboard tests.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use for apps/dashboard work: routes, features, shared components/hooks, styling, data-fetching wiring, and dashboard tests.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use for apps/api work: adding or changing REST controllers, services, repositories, mappers, clients, schema mapping, or API tests.
Use for apps/gateful work: REST aggregation of DAO APIs, Hono + zod-openapi routing, DAO source discovery (DAO_API_*), proxying, caching, circuit breaker, and gateway tests.
Use when preparing a PR — adding a changeset, choosing bump types, empty changesets, API-contract changes, or understanding the version/release flow.
Use when adding a new DAO to the Anticapture platform. Covers all five components — indexer, API, gateway, dashboard, and enum sync — with a step-by-step checklist.
Use when adding a new DAO to the Anticapture dashboard. Walks through enum registration, config creation, quorum label, icon setup, and wiring — with exact file paths and a worked example (FLUID).
Use when you need to hit the running local stack (API, gateful, dashboard, indexer) to test or verify a change. Covers scripts/dev.sh, hot reload, and the ports each service listens on.
| name | anticapture-dashboard |
| description | Use for apps/dashboard work: routes, features, shared components/hooks, styling, data-fetching wiring, and dashboard tests. |
apps/dashboard.@anticapture/client REST hooks into the UI.apps/dashboard@anticapture/client REST SDK), wagmi 2, viem 2, Recharts 2apps/dashboard/shared/dao-config/ — that directory
is the current roster; don't hard-code DAO lists elsewherepnpm dashboard dev # Start dev server on :3000
pnpm dashboard typecheck # Type checking
pnpm dashboard lint # Lint checking
pnpm dashboard lint:fix # Auto-fix lint issues
pnpm dashboard test # Run Jest unit tests
pnpm dashboard build # Production build
apps/dashboard/.env)| Variable | Required | Description |
|---|---|---|
ANTICAPTURE_API_URL | yes | Gateful REST API base URL |
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID | yes | WalletConnect project ID |
NEXT_PUBLIC_ALCHEMY_KEY | yes | Alchemy RPC key |
NEXT_PUBLIC_SITE_URL | no | Site URL for SEO/meta |
RESEND_API_KEY | no | Resend email API key |
RESEND_FROM_EMAIL | no | Sender email address |
CONTACT_EMAIL | no | Recipient for contact form |
"use client" only at interaction boundaries.shared/.apps/dashboard/
├── app/ # Next.js App Router (routing + composition only)
│ ├── (landing)/ # Public pages
│ ├── [daoId]/
│ │ ├── (shell)/ # Main DAO pages (sidebar layout)
│ │ │ ├── attack-profitability/
│ │ │ ├── holders-and-delegates/
│ │ │ ├── resilience-stages/
│ │ │ ├── risk-analysis/
│ │ │ └── token-distribution/
│ │ └── (nested)/governance/
│ └── api/
├── features/ # Domain modules (business logic)
│ └── <feature-name>/
│ ├── components/
│ ├── hooks/
│ ├── types.ts
│ └── utils/
├── shared/ # Cross-cutting concerns
│ ├── components/
│ │ ├── design-system/
│ │ ├── layout/
│ │ ├── charts/
│ │ └── icons/
│ ├── hooks/
│ ├── dao-config/
│ ├── types/
│ ├── constants/
│ ├── providers/
│ └── utils/
├── widgets/
└── public/
| What you're adding | Where it goes |
|---|---|
| New dashboard feature | features/<feature-name>/ |
| Feature-specific component/hook/util | features/<feature>/... |
| Reusable UI component | shared/components/ |
| Design system component | shared/components/design-system/ |
| Layout component | shared/components/layout/ |
| Shared hook or utility | shared/hooks/ or shared/utils/ |
| Shared types | shared/types/ |
| Next.js route | app/ |
| Cross-page composed sections | widgets/ |
app/...; avoid pushing route concerns into low-level components../references/code-conventions.md../references/engineering-patterns.md../references/data-state-testing.md.pnpm dashboard typecheckpnpm dashboard lintpnpm dashboard test (when behavior changes)shared unless reused by multiple features."use client" only at interactive boundaries.@/* path aliases for all imports.