Are you the author? Sign in to claim
My actual Claude Code setup: a stack-agnostic engineering spine, auto-activating rule packs, 50 scoped subagents across
This is the actual Claude Code configuration I run day to day at EltexSoft: a stack-agnostic engineering "spine," platform-specific rule packs that load per file via path globs, a roster of 42 subagents across four stacks, a commit-guard hook plus an auto-formatter, and a repo scaffolder. It's the same setup I describe in 42: The AI Builder's Stack. Take what's useful.
Most people publish a single CLAUDE.md and call it a setup. The thing that actually makes Claude Code reliable is structure: a global file that never changes, rules that load only when Claude reads a file matching their path globs, agents scoped to one job each, and hooks that stop bad commits before they happen. That's what's here.
| Path | What it is |
|---|---|
CLAUDE.md | The universal spine — a lean (~215-line) always-loaded core: workflow, git rules, coding guidelines, secrets, anti-patterns. Stack-agnostic. Longer reference material lives in docs/ and loads on demand. |
rules/{web,android,ios,compute}.md | Platform rule packs. Each carries a paths: frontmatter glob; Claude Code loads a pack when it reads a file matching that glob (*.kt → android, *.swift → ios, *.ts/*.py → web, *.cpp/*.cu → compute). Path-triggered, so packs whose files you never touch stay out of context. |
agents/ (15) | The default subagent roster: the four-hat chain (architect → senior-swe → code-reviewer → qa), plus specialists (security, performance, db-migration, debugger, devops, docs, design), release-engineer + tech-writer, and a delivery layer (TPM, scrum-master). |
agents-android/ (7), agents-ios/ (7), agents-compute/ (13) | Per-stack overrides. Drop them into a repo's .claude/agents/ and they override the generic ones of the same name with platform-brained versions. |
hooks/guard-commit.sh | A Claude Code Bash hook (PreToolUse) that blocks the agent from force-pushing, committing as a non-human, writing AI attribution into a commit message, or staging obvious secrets. It guards Claude's git commands — not a human typing git directly in their own terminal. |
hooks/format.sh | Auto-formats edited files by extension across every stack. Missing formatter is a silent no-op, never an error. |
skills/new-repo/ | A scaffolder skill: spins up a new repo with the right CLAUDE.md, .gitignore, quality gate, and release workflow. Scaffolds web + Android; iOS and compute ship as rule + agent packs (no scaffolder for them yet). |
docs/ | On-demand reference the spine points to (full roster tables, the Phase-3 review checklist, the error-recovery table, PR template, scaling notes). Installed to ~/.claude/docs/; loaded only when a stub references it. |
templates/ | Blank project CLAUDE.md templates (generic + compute) to copy into a new repo and fill in. |
examples/CLAUDE.example-web.md | A filled-in example so you can see what "done" looks like before you write your own. |
STRUCTURE.md | The full layout, install steps, and how the two-settings-file swap works. Read this first. |
Two tiers. The global tier (~/.claude/CLAUDE.md + rules/ + agents/ + hooks/) is everything that's true regardless of what you're building. The project tier is a short CLAUDE.md at the repo root that holds only what's specific to that project (§19: stack, quality gate, release pointers, compliance scope). The spine gets prompt-cached and never changes; the project file is the only thing you edit per repo. Rules specialize by path-trigger (a pack loads when Claude reads a file its paths: glob matches); agents specialize by name-override (a repo's .claude/agents/<name>.md shadows the global agent of the same name). Neither scans the repo up front. You configure once, then mostly leave it alone.
Mac/Linux, with Claude Code already installed. Full steps and the per-repo install are in STRUCTURE.md. First install the hook prerequisite jq (guard-commit.sh fails closed without it): brew install jq (macOS) / sudo apt-get install jq (Debian/Ubuntu). Then:
git clone https://github.com/roadhero/claude-code-setup.git && cd claude-code-setup
mkdir -p ~/.claude/rules ~/.claude/agents ~/.claude/hooks ~/.claude/skills
cp CLAUDE.md ~/.claude/CLAUDE.md
cp settings.json ~/.claude/settings.json # merge your own model / plugin blocks in
cp rules/*.md ~/.claude/rules/
cp agents/*.md ~/.claude/agents/
cp -R agents-android agents-ios agents-compute ~/.claude/ # per-stack packs (scaffolder + per-repo overrides read these)
cp hooks/*.sh ~/.claude/hooks/ && chmod +x ~/.claude/hooks/*.sh
cp -R skills/new-repo ~/.claude/skills/
mkdir -p ~/.claude/docs && cp -R docs/* ~/.claude/docs/
Then per repo, copy a template in as the project CLAUDE.md and fill in §19. See examples/ for a worked one.
This is opinionated and built for how my team works. The git rules assume PR-based flow with protected branches. The hooks assume the formatters are installed (they no-op cleanly if not). The compute stack is C++/CUDA/Python systems work and is overkill if you only ship web apps. Strip what you don't need. The point isn't to adopt my exact setup. It's to see a real, working one and build yours.
MIT licensed. Use it, fork it, change it. No attribution required.
Claude Code hook that writes a forward-only why-block (decisions, trade-offs, assumptions, limitations) into your PR des
Hook-based token compressor for 5 AI CLI hosts (Claude Code, Copilot CLI, OpenCode, Gemini CLI, Codex CLI). Up to 95% ba
Blocks dangerous git and shell commands from being executed by AI coding agents
One command to install 6 essential safety hooks in 10 seconds — zero dependencies