solanabr/ai-kit
Claude Code / Codex / AI configs for the expert Solana builder. CLAUDE.md, agents, commands, hooks, rules, skills and settings across Web, Anchor, Pinnochio, Unity, Mobile, security and more.
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
GUARDRAILS
5/5
Blocks destructive commands · Protects secrets · Pre-tool screening hook · No YOLO mode · Sandbox or ask-first rules · details
Copy this rig
# review before running: this installs third-party code $ claude mcp add helius -e HELIUS_<redacted> -- npx -y helius-mcp@2.2.0 $ claude mcp add --transport http solana-dev https://mcp.solana.com/mcp $ claude mcp add context7 -- npx -y @upstash/context7-mcp@4.1.1 $ claude mcp add context-mode -- npx -y context-mode@1.0.169 $ npx degit solanabr/ai-kit/.claude ./rig-ai-kit # inspect, then merge into .claude/
MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.
$ claude mcp add helius -e HELIUS_<redacted> -- npx -y helius-mcp@2.2.0 $ claude mcp add --transport http solana-dev https://mcp.solana.com/mcp $ claude mcp add context7 -- npx -y @upstash/context7-mcp@4.1.1 $ claude mcp add context-mode -- npx -y context-mode@1.0.169
$ npx degit solanabr/ai-kit/.claude/skills/skill-packs .claude/skills/skill-packs $ npx degit solanabr/ai-kit/.claude/skills/token-extensions .claude/skills/token-extensions $ npx degit solanabr/ai-kit/plugin/skills/solana-ai-kit .claude/skills/solana-ai-kit
$ curl -fsSL --create-dirs -o .claude/agents/anchor-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/anchor-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/defi-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/defi-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/devops-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/devops-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/game-architect.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/game-architect.md $ curl -fsSL --create-dirs -o .claude/agents/mobile-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/mobile-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/pinocchio-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/pinocchio-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/rust-backend-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/rust-backend-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/solana-architect.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/solana-architect.md $ curl -fsSL --create-dirs -o .claude/agents/solana-frontend-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/solana-frontend-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/solana-guide.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/solana-guide.md $ curl -fsSL --create-dirs -o .claude/agents/solana-qa-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/solana-qa-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/solana-researcher.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/solana-researcher.md $ curl -fsSL --create-dirs -o .claude/agents/tech-docs-writer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/tech-docs-writer.md $ curl -fsSL --create-dirs -o .claude/agents/token-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/token-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/unity-engineer.md https://raw.githubusercontent.com/solanabr/ai-kit/main/.claude/agents/unity-engineer.md
Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.
{
"permissions": {
"deny": [
"Edit(/.claude/hooks/**)",
"Edit(~/.claude/hooks/**)",
"Bash(claude *)",
"Bash(claude)",
"Edit(//**/managed-settings.json)",
"Edit(/.safe-ai-skill/**)",
"Read(~/.ssh)",
"Read(~/.ssh/**)",
"Read(~/.gnupg)",
"Read(~/.gnupg/**)",
"Read(~/.aws)",
"Read(~/.aws/**)",
"Read(~/.config/solana/id.json)",
"Read(~/.npmrc)",
"Read(~/.git-credentials)",
"Read(~/.netrc)",
"Read(~/.config/gh/hosts.yml)",
"Read(~/.kube/config)",
"Read(~/.cargo/credentials)",
"Read(~/.cargo/credentials.toml)",
"Read(~/.docker/config.json)",
"Read(~/.pypirc)",
"Read(~/.gem/credentials)",
"Read(~/.claude/.credentials.json)",
"Read(~/.local/share/keyrings)",
"Read(~/.local/share/keyrings/**)",
"Read(~/.gnome2/keyrings)",
"Read(~/.gnome2/keyrings/**)",
"Read(~/.password-store)",
"Read(~/.password-store/**)",
"Read(~/.config/1Password)",
"Read(~/.config/1Password/**)",
"Read(~/Library/Application Support/Bitwarden)",
"Read(~/Library/Application Support/Bitwarden/**)",
"Read(~/.config/Bitwarden)",
"Read(~/.config/Bitwarden/**)",
"Read(~/.config/keepassxc)",
"Read(~/.config/keepassxc/**)",
"Read(~/Library/Application Support/Google/Chrome)",
"Read(~/Library/Application Support/Google/Chrome/**)",
"Read(~/Library/Application Support/BraveSoftware/Brave-Browser)",
"Read(~/Library/Application Support/BraveSoftware/Brave-Browser/**)",
"Read(~/Library/Application Support/Microsoft Edge)",
"Read(~/Library/Application Support/Microsoft Edge/**)",
"Read(~/Library/Application Support/Firefox)",
"Read(~/Library/Application Support/Firefox/**)",
"Read(~/Library/Application Support/Chromium)",
"Read(~/Library/Application Support/Chromium/**)",
"Read(~/Library/Application Support/Vivaldi)",
"Read(~/Library/Application Support/Vivaldi/**)",
"Read(~/Library/Application Support/Arc)",
"Read(~/Library/Application Support/Arc/**)",
"Read(~/Library/Application Support/com.operasoftware.Opera)",
"Read(~/Library/Application Support/com.operasoftware.Opera/**)",
"Read(~/.config/google-chrome)",
"Read(~/.config/google-chrome/**)",
"Read(~/.config/BraveSoftware/Brave-Browser)",
"Read(~/.config/BraveSoftware/Brave-Browser/**)",
"Read(~/.config/microsoft-edge)",
"Read(~/.config/microsoft-edge/**)",
"Read(~/.mozilla/firefox)",
"Read(~/.mozilla/firefox/**)",
"Read(~/.config/chromium)",
"Read(~/.config/chromium/**)",
"Read(~/.config/vivaldi)",
"Read(~/.config/vivaldi/**)",
"Read(~/.config/opera)",
"Read(~/.config/opera/**)",
"Read(~/AppData/Local/Google/Chrome/User Data)",
"Read(~/AppData/Local/Google/Chrome/User Data/**)",
"Read(~/AppData/Local/BraveSoftware/Brave-Browser/User Data)",
"Read(~/AppData/Local/BraveSoftware/Brave-Browser/User Data/**)",
"Read(~/AppData/Local/Microsoft/Edge/User Data)",
"Read(~/AppData/Local/Microsoft/Edge/User Data/**)",
"Read(~/AppData/Roaming/Mozilla/Firefox)",
"Read(~/AppData/Roaming/Mozilla/Firefox/**)",
"Read(~/AppData/Local/Chromium/User Data)",
"Read(~/AppData/Local/Chromium/User Data/**)",
"Read(~/AppData/Local/Vivaldi/User Data)",
"Read(~/AppData/Local/Vivaldi/User Data/**)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash|mcp__context-mode__.*",
"hooks": [
{
"type": "command",
"command": "H=\"${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/secrets-guard.sh\"; [ -r \"$H\" ] && exec sh \"$H\"; exit 0"
},
{
"type": "command",
"command": "H=\"${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/onchain-guard.sh\"; [ -r \"$H\" ] && exec sh \"$H\"; exit 0"
},
{
"type": "command",
"command": "H=\"${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/egress-guard.sh\"; [ -r \"$H\" ] && exec sh \"$H\"; exit 0"
},
{
"type": "command",
"command": "H=\"${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/fetch-exec-guard.sh\"; [ -r \"$H\" ] && exec sh \"$H\"; exit 0"
}
]
}
]
},
"sandbox": {
"enabled": true
}
} MCP servers (4)
| server | source | est. tokens |
|---|---|---|
| helius-mcp · "helius" env: HELIUS_API_KEY | npm | 2.5k |
| mcp.solana.com · "solana-dev" | remote · remote | 2.5k |
| Context7 | npm | 1.2k |
| context-mode | npm | 2.5k |
Skills (3)
Subagents (15)
| anchor-engineer model: opus | Implements Solana programs in Anchor 1.x: accounts, constraints, CPIs, errors, events, IDL and Rust LiteSVM tests. Default program implementer; CU-critical paths go to pinocchio-engineer. |
| defi-engineer model: opus | Integrates Solana DeFi protocols (Jupiter, Kamino, Marginfi, Raydium, Orca, Meteora, Sanctum, Pyth, Switchboard) via SDK, API or CPI. Token launches go to token-engineer. |
| devops-engineer model: sonnet | Owns CI/CD, toolchain pinning, RPC infrastructure, monitoring and Cloudflare Workers for Solana projects. Program deploys run through /deploy; service code goes to rust-backend-engineer. |
| game-architect | Designs Solana games before code: on-chain vs off-chain state, Unity architecture, economies, PSG1 targeting; writes concept.md and plan.md. Implementation goes to unity-engineer. |
| mobile-engineer model: sonnet | Builds Solana mobile apps in React Native/Expo: Mobile Wallet Adapter, Seeker features, deep links, dApp Store releases. Web frontends go to solana-frontend-engineer. |
| pinocchio-engineer | Implements CU- or size-critical Solana programs and hot paths in Pinocchio (zero-copy, manual validation, Mollusk CU tests) when Anchor is the measured bottleneck. |
| rust-backend-engineer model: sonnet | Builds Rust async services around Solana (APIs, indexers, webhook consumers, transaction senders) on Tokio/Axum. Programs go to anchor-engineer; infra to devops-engineer. |
| solana-architect | Designs and reviews Solana systems before code: accounts, PDAs, program boundaries, CPIs, upgrade and trust model, economic security. Games go to game-architect. |
| solana-frontend-engineer model: sonnet | Builds Solana web frontends in React/Next.js on @solana/kit: wallet connection, transaction UX, token views, WCAG 2.2 AA. React Native goes to mobile-engineer. |
| solana-guide model: sonnet | Teaches Solana: explains concepts and existing code, writes tutorials and learning paths, mentors learners including EVM developers. Production code goes to engineer agents. |
| solana-qa-engineer model: opus | Owns Solana test strategy and quality gates: Mollusk, LiteSVM, Surfpool and Trident suites, fuzzing, CU baselines, AI-slop cleanup. Implementers still unit-test their own code. |
| solana-researcher model: sonnet | Researches the Solana ecosystem with cited, dated sources: protocols, SDKs, APIs, tool versions, DeFi data, competitors. Design decisions go to solana-architect. |
| tech-docs-writer model: sonnet | Writes developer docs for Solana projects: READMEs, instruction and account references, integration and deployment guides. Tutorials go to solana-guide. |
| token-engineer model: opus | Builds tokens and digital assets: SPL and Token-2022 mints and extensions, transfer-hook programs, Metaplex NFTs, launches, tokenomics. Swaps and lending go to defi-engineer. |
| unity-engineer model: sonnet | Implements Unity/C# for Solana games: Solana.Unity-SDK wallets, transactions, account reads, NFTs, UI, PSG1 input, Unity tests. Program changes go to anchor-engineer. |
Hooks (5)
| event | matcher | runs |
|---|---|---|
| SessionStart | * | INPUT=$(cat) V=$(awk 'NF{print $NF; exit}' "${CLAUDE_PROJECT_DIR:-.}/.claude/VERSION" 2>/dev/null) [ -n "$V" ] || V=dev if command -v solana >/dev/null 2>&1; then RPC=$(solana config get json_rpc_url 2>/dev/null | awk '{print $NF}' | sed |
| PreToolUse | Bash|mcp__context-mode__.* | H="${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/secrets-guard.sh"; [ -r "$H" ] && exec sh "$H"; exit 0 |
| PreToolUse | Bash|mcp__context-mode__.* | H="${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/onchain-guard.sh"; [ -r "$H" ] && exec sh "$H"; exit 0 |
| PreToolUse | Bash|mcp__context-mode__.* | H="${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/egress-guard.sh"; [ -r "$H" ] && exec sh "$H"; exit 0 |
| PreToolUse | Bash|mcp__context-mode__.* | H="${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/fetch-exec-guard.sh"; [ -r "$H" ] && exec sh "$H"; exit 0 |
Slash commands (32)
/add-skill/audit-infra/audit-solana/benchmark/build-app/build-program/build-unity/cleanup/commit-claude-config/debug-user-tx/deploy/diff-review/doctor/dream/explain-code/firewall/generate-idl-client/migrate-web3/plan-feature/product-review/profile-cu/quick-commit/resync/scaffold/setup-ci-cd/setup-mcp/test-and-fix/test-dotnet/test-rust/test-ts/update/write-docs
Plugins (1)
safe-ai-skill@stbr
Permissions
deny (120)
Edit(/.claude/hooks/**)
Edit(~/.claude/hooks/**)
Bash(claude *)
Bash(claude)
Edit(//**/managed-settings.json)
Edit(/.safe-ai-skill/**)
Read(~/.ssh)
Read(~/.ssh/**)
Read(~/.gnupg)
Read(~/.gnupg/**)
Read(~/.aws)
Read(~/.aws/**)
Read(~/.config/solana/id.json)
Read(~/.npmrc)
Read(~/.git-credentials)
Read(~/.netrc)
Read(~/.config/gh/hosts.yml)
Read(~/.kube/config)
Read(~/.cargo/credentials)
Read(~/.cargo/credentials.toml)
Read(~/.docker/config.json)
Read(~/.pypirc)
Read(~/.gem/credentials)
Read(~/.claude/.credentials.json)
Read(~/.local/share/keyrings)
Read(~/.local/share/keyrings/**)
Read(~/.gnome2/keyrings)
Read(~/.gnome2/keyrings/**)
Read(~/.password-store)
Read(~/.password-store/**)
Read(~/.config/1Password)
Read(~/.config/1Password/**)
Read(~/Library/Application Support/Bitwarden)
Read(~/Library/Application Support/Bitwarden/**)
Read(~/.config/Bitwarden)
Read(~/.config/Bitwarden/**)
Read(~/.config/keepassxc)
Read(~/.config/keepassxc/**)
Read(~/Library/Application Support/Google/Chrome)
Read(~/Library/Application Support/Google/Chrome/**)
Read(~/Library/Application Support/BraveSoftware/Brave-Browser)
Read(~/Library/Application Support/BraveSoftware/Brave-Browser/**)
Read(~/Library/Application Support/Microsoft Edge)
Read(~/Library/Application Support/Microsoft Edge/**)
Read(~/Library/Application Support/Firefox)
Read(~/Library/Application Support/Firefox/**)
Read(~/Library/Application Support/Chromium)
Read(~/Library/Application Support/Chromium/**)
Read(~/Library/Application Support/Vivaldi)
Read(~/Library/Application Support/Vivaldi/**)
Read(~/Library/Application Support/Arc)
Read(~/Library/Application Support/Arc/**)
Read(~/Library/Application Support/com.operasoftware.Opera)
Read(~/Library/Application Support/com.operasoftware.Opera/**)
Read(~/.config/google-chrome)
Read(~/.config/google-chrome/**)
Read(~/.config/BraveSoftware/Brave-Browser)
Read(~/.config/BraveSoftware/Brave-Browser/**)
Read(~/.config/microsoft-edge)
Read(~/.config/microsoft-edge/**)
ask (0)
—
allow (120)
Bash(anchor *)
Bash(cargo build*)
Bash(cargo test*)
Bash(cargo clippy *)
Bash(cargo fmt *)
Bash(cargo audit *)
Bash(cargo install *)
Bash(cargo geiger *)
Bash(cargo check *)
Bash(cargo doc *)
Bash(cargo run *)
Bash(cargo add *)
Bash(cargo remove *)
Bash(cargo update *)
Bash(cargo clean *)
Bash(cargo bench *)
Bash(cargo fix *)
Bash(cargo tree *)
Bash(cargo metadata *)
Bash(rustup *)
Bash(rustfmt *)
Bash(trident *)
Bash(solana config *)
Bash(solana address *)
Bash(solana balance *)
Bash(solana airdrop *)
Bash(solana program show *)
Bash(solana program dump *)
Bash(solana logs *)
Bash(solana account *)
Bash(solana cluster-version *)
Bash(solana epoch-info *)
Bash(solana slot *)
Bash(solana rent *)
Bash(solana decode *)
Bash(solana transaction-history *)
Bash(solana confirm *)
Bash(solana-keygen *)
Bash(solana-test-validator *)
Bash(surfpool *)
Bash(npm *)
Bash(yarn *)
Bash(pnpm *)
Bash(bun *)
Bash(npx *)
Bash(node *)
Bash(tsx *)
Bash(tsc *)
Bash(next *)
Bash(vite *)
Bash(vitest *)
Bash(prettier *)
Bash(eslint *)
Bash(create-solana-dapp *)
Bash(git status *)
Bash(git diff *)
Bash(git log *)
Bash(git show *)
Bash(git add *)
Bash(git commit *)
Similar rigs
solanabr/solana-game-skill
Claude Code skills for C#, Solana Unity SDK, Solana Mobile and Playsolana Unity SDK.
Orchestrator 2.6k tok ·
indranildchandra/claude-local-starter
Single-script installer that lifts and shifts my personal Claude Code setup - plugins, skills, commands, MCP servers, and config - onto any machine in seconds.
MCP Hoarder 29.1k tok ·
agentalabs/master-claude-config
Config for Claude Code env
Orchestrator 3.2k tok ·
edbizarro/dotfiles
:skull: dotfiles! managed by GNU stow
Pragmatist 2.9k tok ·