~ / rigs / roadhero / claude-code-setup

roadhero/claude-code-setup

My actual Claude Code setup: a stack-agnostic engineering spine, auto-activating rule packs, 50 scoped subagents across web/Android/iOS/compute, safety hooks, and a repo scaffolder. From the book "42: The AI Builder's Stack."

↗ GitHub ★ 36 MIT updated 25d ago personal setup Claude Code
share on X
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
CONTEXT TAX · EVERY TURN
~7.3k tokens
Heavy · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit roadhero/claude-code-setup/agents ./rig-claude-code-setup/agents
$ npx degit roadhero/claude-code-setup/skills ./rig-claude-code-setup/skills
$ npx degit roadhero/claude-code-setup/hooks ./rig-claude-code-setup/hooks

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.

$ npx degit roadhero/claude-code-setup/skills/new-repo .claude/skills/new-repo
$ curl -fsSL --create-dirs -o .claude/agents/architect.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/architect.md
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/db-migration-specialist.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/db-migration-specialist.md
$ curl -fsSL --create-dirs -o .claude/agents/debugger.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/debugger.md
$ curl -fsSL --create-dirs -o .claude/agents/devops-sre.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/devops-sre.md
$ curl -fsSL --create-dirs -o .claude/agents/docs-reconciler.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/docs-reconciler.md
$ curl -fsSL --create-dirs -o .claude/agents/explorer.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/explorer.md
$ curl -fsSL --create-dirs -o .claude/agents/performance-engineer.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/performance-engineer.md
$ curl -fsSL --create-dirs -o .claude/agents/product-designer.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/product-designer.md
$ curl -fsSL --create-dirs -o .claude/agents/qa.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/qa.md
$ curl -fsSL --create-dirs -o .claude/agents/release-engineer.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/release-engineer.md
$ curl -fsSL --create-dirs -o .claude/agents/scrum-master.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/scrum-master.md
$ curl -fsSL --create-dirs -o .claude/agents/security-reviewer.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/security-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/senior-swe.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/senior-swe.md
$ curl -fsSL --create-dirs -o .claude/agents/tech-writer.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/tech-writer.md
$ curl -fsSL --create-dirs -o .claude/agents/technical-program-manager.md https://raw.githubusercontent.com/roadhero/claude-code-setup/main/agents/technical-program-manager.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": [
      "Bash(sudo:*)",
      "Bash(rm -rf /*)",
      "Bash(rm -rf ~*)",
      "Bash(rm -rf $HOME*)",
      "Bash(rm -rf .*)",
      "Bash(rm -rf *)",
      "Bash(rm -fr *)",
      "Bash(git push*--force*)",
      "Bash(git push -f:*)",
      "Bash(git push * -f)",
      "Bash(git push * -f *)",
      "Bash(git reset --hard:*)",
      "Bash(git clean -fdx:*)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "$HOME/.claude/hooks/guard-commit.sh"
          }
        ]
      }
    ]
  }
}

Skills (1)

Subagents (16)

architectPhase 1 planner for software engineering changes. Use PROACTIVELY before writing code for any non-trivial change — new features, refactors, bugs requiring more than a one-line fix, or any change touch
code-reviewerPhase 3 adversarial reviewer for any software engineering codebase. Use AFTER implementation, BEFORE pushing. Reviews the git diff against a universal checklist plus language-/stack-specific red flags
db-migration-specialistSchema migration specialist for any storage layer (SQL, ORMs, Room, document stores). Use when a change adds/alters/removes a column, table, index, or entity, or changes a data shape that persisted da
debuggerRoot-cause analysis for failing tests, crashes, stack traces, and "it worked yesterday" regressions. Use when something is broken and the cause isn't obvious. Reproduces, isolates, and identifies the
devops-sreSenior DevOps / SRE / platform engineer at Fortune-500 / Series C–D caliber. Use to design or review CI/CD pipelines, infrastructure-as-code, containerization/orchestration, deployment strategy + roll
docs-reconciler
model: sonnet
Drift detection agent for any software project. Use every 3–5 merged PRs, before a release, or when picking up a project mid-stream. Surfaces drift between PRD ↔ shipped code, ROADMAP ↔ CHANGELOG, ope
explorer
model: sonnet
Read-only code explorer for fast, cheap search-and-report across a codebase. Use to locate code, map how something works, or gather file:line references when you need the conclusion, not the raw files
performance-engineerPerformance analysis for any codebase. Use when a change touches a hot path, a query, a loop over user-scaled data, a startup path, or memory-sensitive code — or when investigating a latency/throughpu
product-designerSenior product designer (UX/UI/interaction/IA/accessibility/design systems) at Fortune-500 / Series C–D caliber. Use to define the design problem, user flows, information architecture, interaction and
qaPhase 4 verifier for software engineering codebases. Use AFTER code review has been addressed, BEFORE merge. Generates a test plan across the four test surfaces (unit, integration, end-to-end, propert
release-engineerRelease prep agent for any software project. Use when bumping the version, writing the CHANGELOG entry, or preparing a release tag. Knows SemVer + Keep-a-Changelog conventions, verifies the release wo
scrum-masterSenior scrum master / agile delivery coach at Fortune-500 / Series C–D caliber. Use to run the cadence (sprint planning, daily sync, review, retro, backlog refinement), assess sprint/flow health, surf
security-reviewerDeep security audit for any codebase. Use PROACTIVELY when a change touches auth/authz, crypto, user input handling, file/path operations, deserialization, network calls, secrets, or adds/updates depe
senior-swePhase 2 implementer for software engineering codebases. Use after an `architect` plan has been approved, OR for trivial changes (typo, config-only, single-line bug) where Phase 1 was skipped. Writes t
tech-writerDocumentation author for any project. Use to write or update README sections, API/reference docs, docstrings/KDoc on public surfaces, CHANGELOG prose, ADRs, and how-to guides. Complements docs-reconci
technical-program-managerSenior technical product & program/project manager (TPM) at Fortune-500 / Series C–D caliber. Use to turn an ambiguous goal into a scoped, sequenced, risk-managed delivery plan; to prioritize a backlo

Hooks (3)

eventmatcherruns
SessionStartstartup|resume|clear$HOME/.claude/hooks/bootstrap-claude-md.sh
PreToolUseBash$HOME/.claude/hooks/guard-commit.sh
PostToolUseEdit|Write$HOME/.claude/hooks/format.sh

Permissions

deny (13)
Bash(sudo:*)
Bash(rm -rf /*)
Bash(rm -rf ~*)
Bash(rm -rf $HOME*)
Bash(rm -rf .*)
Bash(rm -rf *)
Bash(rm -fr *)
Bash(git push*--force*)
Bash(git push -f:*)
Bash(git push * -f)
Bash(git push * -f *)
Bash(git reset --hard:*)
Bash(git clean -fdx:*)
ask (0)
—
allow (71)
Bash(git:*)
Bash(ls:*)
Bash(cat:*)
Bash(head:*)
Bash(tail:*)
Bash(grep:*)
Bash(rg:*)
Bash(find:*)
Bash(tree:*)
Bash(wc:*)
Bash(echo:*)
Bash(which:*)
Bash(file:*)
Bash(stat:*)
Bash(diff:*)
Bash(sort:*)
Bash(uniq:*)
Bash(awk:*)
Bash(sed:*)
Bash(jq:*)
Bash(pwd)
Bash(mkdir:*)
Bash(touch:*)
Bash(cp:*)
Bash(mv:*)
Bash(test:*)
Bash(node:*)
Bash(npm:*)
Bash(pnpm:*)
Bash(yarn:*)
Bash(npx:*)
Bash(bun:*)
Bash(deno:*)
Bash(tsc:*)
Bash(eslint:*)
Bash(prettier:*)
Bash(vitest:*)
Bash(jest:*)
Bash(playwright:*)
Bash(python:*)
Bash(python3:*)
Bash(pip:*)
Bash(pip3:*)
Bash(uv:*)
Bash(pytest:*)
Bash(ruff:*)
Bash(black:*)
Bash(mypy:*)
Bash(pyright:*)
Bash(./gradlew:*)
Bash(gradle:*)
Bash(kotlin:*)
Bash(ktlint:*)
Bash(java:*)
Bash(adb:*)
Bash(xcodebuild:*)
Bash(swift:*)
Bash(swiftlint:*)
Bash(swift-format:*)
Bash(swiftformat:*)

Similar rigs

copied ✓