aaronsb/claude-code-config
Event-driven policy, process, and governance for Claude Code. Ways encode how we do things — prescriptive rules triggered by context, not requested by intent.
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
Copy this rig
# review before running: this installs third-party code $ npx degit aaronsb/claude-code-config/agents ./rig-claude-code-config/agents $ npx degit aaronsb/claude-code-config/commands ./rig-claude-code-config/commands $ npx degit aaronsb/claude-code-config/skills ./rig-claude-code-config/skills $ npx degit aaronsb/claude-code-config/hooks ./rig-claude-code-config/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 aaronsb/claude-code-config/skills/adr .claude/skills/adr $ npx degit aaronsb/claude-code-config/skills/context-status .claude/skills/context-status $ npx degit aaronsb/claude-code-config/skills/direnv .claude/skills/direnv $ npx degit aaronsb/claude-code-config/skills/governance-cite .claude/skills/governance-cite $ npx degit aaronsb/claude-code-config/skills/project-pulse .claude/skills/project-pulse $ npx degit aaronsb/claude-code-config/skills/ship .claude/skills/ship $ npx degit aaronsb/claude-code-config/skills/think-consistency .claude/skills/think-consistency $ npx degit aaronsb/claude-code-config/skills/think-react .claude/skills/think-react $ npx degit aaronsb/claude-code-config/skills/think-stepback .claude/skills/think-stepback $ npx degit aaronsb/claude-code-config/skills/think-tree .claude/skills/think-tree $ npx degit aaronsb/claude-code-config/skills/think-trilemma .claude/skills/think-trilemma $ npx degit aaronsb/claude-code-config/skills/think .claude/skills/think $ npx degit aaronsb/claude-code-config/skills/ways-tests .claude/skills/ways-tests $ npx degit aaronsb/claude-code-config/skills/wormhole .claude/skills/wormhole
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/aaronsb/claude-code-config/main/agents/code-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/requirements-analyst.md https://raw.githubusercontent.com/aaronsb/claude-code-config/main/agents/requirements-analyst.md $ curl -fsSL --create-dirs -o .claude/agents/system-architect.md https://raw.githubusercontent.com/aaronsb/claude-code-config/main/agents/system-architect.md $ curl -fsSL --create-dirs -o .claude/agents/task-planner.md https://raw.githubusercontent.com/aaronsb/claude-code-config/main/agents/task-planner.md $ curl -fsSL --create-dirs -o .claude/agents/workflow-orchestrator.md https://raw.githubusercontent.com/aaronsb/claude-code-config/main/agents/workflow-orchestrator.md $ curl -fsSL --create-dirs -o .claude/agents/workspace-curator.md https://raw.githubusercontent.com/aaronsb/claude-code-config/main/agents/workspace-curator.md
Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "${HOME}/.claude/hooks/ways/check-file-pre.sh"
}
]
},
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "${HOME}/.claude/hooks/ways/check-bash-pre.sh"
}
]
},
{
"matcher": "TaskCreate",
"hooks": [
{
"type": "command",
"command": "${HOME}/.claude/hooks/ways/mark-tasks-active.sh"
}
]
},
{
"matcher": "Task",
"hooks": [
{
"type": "command",
"command": "${HOME}/.claude/hooks/ways/check-task-pre.sh"
}
]
}
]
}
} Skills (14)
adrcontext-statusdirenvgovernance-citeproject-pulseshipthink-consistencythink-reactthink-stepbackthink-treethink-trilemmathinkways-testswormhole
Subagents (6)
| code-reviewer | Reviews code for quality, SOLID principles compliance, and requirement traceability. Assumes PR context. Provides specific refactoring suggestions with clear rationale. Strictly a reviewer - never edi |
| requirements-analyst | Captures user needs as GitHub issues or in ADR context. Creates simple requirement statements with acceptance criteria. Focuses on understanding the problem to solve, not prescribing solutions. |
| system-architect | Drafts Architecture Decision Records (ADRs) documenting design choices. Evaluates against SOLID principles. Guides ADR workflow from draft to PR to merge. Never implements - only designs and documents |
| task-planner | Plans implementation work using branches and TodoWrite. Thinks in git workflow, not tracking files. Helps break down complex work into manageable pieces with clear dependencies. |
| workflow-orchestrator | Coordinates ADR-driven development workflow. Ensures work has declared intent and proper tracking. Guides users through debate → ADR → branch → implement → PR pattern. Maintains process integrity with |
| workspace-curator | Organizes docs/ directory and manages .claude/ structure. Recommends ADR numbering and file placement. Prevents documentation sprawl through simple, consistent organization. |
Hooks (20)
| event | matcher | runs |
|---|---|---|
| SessionStart | startup | ${HOME}/.claude/hooks/ways/check-setup.sh |
| SessionStart | startup | ${HOME}/.claude/hooks/ways/clear-markers.sh |
| SessionStart | startup | ${HOME}/.claude/hooks/check-config-updates.sh |
| SessionStart | startup | ${HOME}/.claude/hooks/ways/check-state.sh |
| SessionStart | startup | ${HOME}/.claude/bin/ways init |
| SessionStart | startup | ${HOME}/.claude/bin/ways corpus --if-stale --quiet |
| SessionStart | compact | ${HOME}/.claude/hooks/ways/clear-markers.sh |
| SessionStart | compact | ${HOME}/.claude/hooks/ways/check-state.sh |
| SessionStart | resume | ${HOME}/.claude/hooks/ways/check-state.sh |
| SessionStart | clear | ${HOME}/.claude/hooks/ways/clear-markers.sh |
| SessionStart | clear | ${HOME}/.claude/hooks/ways/check-state.sh |
| SessionStart | clear | ${HOME}/.claude/bin/ways init |
| PreToolUse | Edit|Write | ${HOME}/.claude/hooks/ways/check-file-pre.sh |
| PreToolUse | Bash | ${HOME}/.claude/hooks/ways/check-bash-pre.sh |
| PreToolUse | TaskCreate | ${HOME}/.claude/hooks/ways/mark-tasks-active.sh |
| PreToolUse | Task | ${HOME}/.claude/hooks/ways/check-task-pre.sh |
| UserPromptSubmit | * | ${HOME}/.claude/hooks/ways/check-prompt.sh |
| UserPromptSubmit | * | ${HOME}/.claude/hooks/ways/check-state.sh |
| SubagentStart | * | ${HOME}/.claude/hooks/ways/inject-subagent.sh |
| Stop | * | ${HOME}/.claude/hooks/ways/check-response.sh |
Slash commands (6)
/gemini/governance/project-audit/project-init/ways-tests/ways
Plugins (5)
clangd-lsp@claude-plugins-officialcode-simplifier@claude-plugins-officialrust-analyzer-lsp@claude-plugins-officialfrontend-design@claude-plugins-officialgopls-lsp@claude-plugins-official
Permissions
deny (0)
—
ask (0)
—
allow (38)
Edit(~/.claude/**)
Edit(~/.claude/**)
Read
Write(~/.claude/**)
Write(~/.claude/**)
Bash(~/.claude/hooks/ways/list-triggered.sh:*)
Bash(cat:*)
Bash(head:*)
Bash(tail:*)
Bash(less:*)
Bash(grep:*)
Bash(rg:*)
Bash(find:*)
Bash(ls:*)
Bash(tree:*)
Bash(du:*)
Bash(df:*)
Bash(wc:*)
Bash(file:*)
Bash(stat:*)
Bash(diff:*)
Bash(which:*)
Bash(type:*)
Bash(pwd:*)
Bash(echo:*)
Bash(awk:*)
Bash(sed:*)
Bash(sort:*)
Bash(uniq:*)
Bash(cut:*)
Bash(tr:*)
Bash(xargs:*)
Bash(tee:*)
Bash(uname:*)
Bash(realpath:*)
Bash(dirname:*)
Bash(basename:*)
Bash(test:*)
Similar rigs
rtk-ai/rtk
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
Orchestrator 2.6k tok ·
mav-abhi/ai-eng-config
AI engineering config for Claude Code — agents, rules, commands, and workflows across a multi-repo setup
MCP Hoarder 49.3k tok ·
FlorianBruniaux/ccboard
Monitor Claude Code sessions, costs, config, hooks, agents & MCP servers from a single Rust binary — TUI (9 tabs) + Web interface with live process tracking, budget alerts, and 30-day forecasting
Fort Knox 11.3k tok ·
edmund-io/edmunds-claude-code
—
Orchestrator 469 tok ·