~ / rigs / AlexisBalayre / claude-code-config

AlexisBalayre/claude-code-config

Opinionated Claude Code config: path-scoped rules, 34 skills, 12 subagents, deterministic hooks, and a multi-agent PR review. Stack-agnostic; run /adapt-to-project to fit any repo.

↗ GitHub ★ 2 MIT updated 4d ago personal setup Claude CodeCodex
share on X
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
CONTEXT TAX · EVERY TURN
~6.4k tokens
Heavy · median rig: 2.3k · breakdown
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 codegraph -e CODEGRAPH_TELEMETRY=YOUR_CODEGRAPH_TELEMETRY -- npx -y @colbymchenry/codegraph@1.6.0 serve --mcp
$ npx degit AlexisBalayre/claude-code-config/.claude ./rig-claude-code-config  # 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 codegraph -e CODEGRAPH_TELEMETRY=YOUR_CODEGRAPH_TELEMETRY -- npx -y @colbymchenry/codegraph@1.6.0 serve --mcp
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/adapt-to-project .claude/skills/adapt-to-project
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/address-review-comments .claude/skills/address-review-comments
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/backfill-issues .claude/skills/backfill-issues
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/caveman .claude/skills/caveman
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/codebase-design .claude/skills/codebase-design
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/daily-note .claude/skills/daily-note
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/diagnosing-bugs .claude/skills/diagnosing-bugs
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/domain-modeling .claude/skills/domain-modeling
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/find-dead-code .claude/skills/find-dead-code
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/fix-sonar .claude/skills/fix-sonar
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/fix-wiz .claude/skills/fix-wiz
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/grill-me .claude/skills/grill-me
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/grill-with-docs .claude/skills/grill-with-docs
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/grilling .claude/skills/grilling
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/handoff .claude/skills/handoff
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/implement .claude/skills/implement
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/improve-codebase-architecture .claude/skills/improve-codebase-architecture
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/obsidian-vault .claude/skills/obsidian-vault
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/pr-ci-review .claude/skills/pr-ci-review
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/pr-description .claude/skills/pr-description
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/prototype .claude/skills/prototype
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/research .claude/skills/research
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/resolving-merge-conflicts .claude/skills/resolving-merge-conflicts
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/review-retro .claude/skills/review-retro
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/tdd .claude/skills/tdd
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/to-questionnaire .claude/skills/to-questionnaire
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/to-spec .claude/skills/to-spec
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/to-tickets .claude/skills/to-tickets
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/wait-what .claude/skills/wait-what
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/wayfinder .claude/skills/wayfinder
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/wiz .claude/skills/wiz
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/wizard .claude/skills/wizard
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/writing-for-agents .claude/skills/writing-for-agents
$ npx degit AlexisBalayre/claude-code-config/.claude/skills/zoom-out .claude/skills/zoom-out
$ curl -fsSL --create-dirs -o .claude/agents/architecture-explainer.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/architecture-explainer.md
$ curl -fsSL --create-dirs -o .claude/agents/comment-pruner.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/comment-pruner.md
$ curl -fsSL --create-dirs -o .claude/agents/convention-checker.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/convention-checker.md
$ curl -fsSL --create-dirs -o .claude/agents/migration-reviewer.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/migration-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/review-context.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/review-context.md
$ curl -fsSL --create-dirs -o .claude/agents/review-conventions.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/review-conventions.md
$ curl -fsSL --create-dirs -o .claude/agents/review-correctness.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/review-correctness.md
$ curl -fsSL --create-dirs -o .claude/agents/review-docs.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/review-docs.md
$ curl -fsSL --create-dirs -o .claude/agents/review-maintainability.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/review-maintainability.md
$ curl -fsSL --create-dirs -o .claude/agents/review-security.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/review-security.md
$ curl -fsSL --create-dirs -o .claude/agents/review-validator.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/review-validator.md
$ curl -fsSL --create-dirs -o .claude/agents/security-reviewer.md https://raw.githubusercontent.com/AlexisBalayre/claude-code-config/main/.claude/agents/security-reviewer.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(git push --force*)",
      "Bash(git push -f*)",
      "Bash(git reset --hard*)",
      "Bash(git clean -f*)",
      "Bash(rm -rf *)",
      "Read(.env*)",
      "Read(secrets.env*)",
      "Read(secrets.*.env)",
      "Read(**/credentials*)"
    ],
    "ask": [
      "Bash(git checkout *)",
      "Bash(git rebase *)",
      "Bash(git cherry-pick *)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/git-safety.sh"
          }
        ]
      },
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/protect-generated.sh"
          }
        ]
      },
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/validate-file-naming.sh"
          }
        ]
      }
    ]
  }
}

MCP servers (1)

serversourceest. tokens
CodeGraph
env: CODEGRAPH_TELEMETRY
npm 3.0k

Skills (34)

Subagents (12)

architecture-explainer
model: sonnet
Use PROACTIVELY when the user asks why or how about the system architecture — component boundaries, data flow, request or job lifecycle, external dependencies, scaling, data-model decisions, auth mode
comment-pruner
model: sonnet
Autonomously prune bad comments from code added in the current session. Dispatched by the comment-pruner Stop hook when net-new comments are detected; also usable manually for a repo-wide sweep. Delet
convention-checker
model: haiku
Use PROACTIVELY to verify files follow area-specific coding standards before committing. MUST BE USED after editing three or more source files, or when preparing a commit. Cross-references docs/conven
migration-reviewer
model: sonnet
Use PROACTIVELY after any change to database schema definitions (ORM models, schema files) or to migration files (new or edited migrations, generated SQL). MUST BE USED before committing schema or mig
review-context
model: sonnet
Reviews changed code for spec contradictions, protocol violations, and infrastructure anti-patterns. Spawned by the pr-ci-review skill.
review-conventions
model: sonnet
Audits changed files for compliance with the project's documented rules and accepted ADR decisions. Spawned by the pr-ci-review skill.
review-correctness
model: opus
Reviews changed code for logic and behavior defects that deterministic tooling cannot catch, including behavioral regressions on the surface tests do not cover. Spawned by the pr-ci-review skill.
review-docs
model: sonnet
Reviews the quality, accuracy, and usefulness of prose a change introduces. Strict on low-value comments and docstrings. Spawned by the pr-ci-review skill.
review-maintainability
model: sonnet
Reviews changed code for structural regressions that make the codebase harder to maintain. Spawned by the pr-ci-review skill.
review-security
model: opus
Reviews changed code for real, reachable security issues at system boundaries. Spawned by the pr-ci-review skill.
review-validator
model: opus
Adversarially verifies review findings against the actual code, refuting the ones that do not hold. Spawned by the pr-ci-review skill before any finding is auto-acted or posted.
security-reviewer
model: opus
Use PROACTIVELY after editing authentication or authorization code, new API endpoints or request handlers, realtime/socket handlers, user-facing forms, secret handling, or anything touching external i

Hooks (7)

eventmatcherruns
Stop*"$CLAUDE_PROJECT_DIR"/.claude/hooks/quality-checks.sh
Stop*"$CLAUDE_PROJECT_DIR"/.claude/hooks/convention-spot-check.sh
Stop*"$CLAUDE_PROJECT_DIR"/.claude/hooks/comment-pruner.sh
PreToolUseBash"$CLAUDE_PROJECT_DIR"/.claude/hooks/git-safety.sh
PreToolUseEdit|Write"$CLAUDE_PROJECT_DIR"/.claude/hooks/protect-generated.sh
PreToolUseWrite"$CLAUDE_PROJECT_DIR"/.claude/hooks/validate-file-naming.sh
PreCompact*"$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-compact-preserve.sh

Permissions

deny (9)
Bash(git push --force*)
Bash(git push -f*)
Bash(git reset --hard*)
Bash(git clean -f*)
Bash(rm -rf *)
Read(.env*)
Read(secrets.env*)
Read(secrets.*.env)
Read(**/credentials*)
ask (3)
Bash(git checkout *)
Bash(git rebase *)
Bash(git cherry-pick *)
allow (30)
Read(*)
Glob(*)
Grep(*)
Edit(*)
Write(*)
Agent(*)
mcp__codegraph
Bash(scripts/worktree-create.sh *)
Bash(scripts/worktree-clean.sh*)
Bash(git add*)
Bash(git commit*)
Bash(git branch*)
Bash(git worktree*)
Bash(git diff*)
Bash(git status*)
Bash(git log*)
Bash(git merge*)
Bash(git stash*)
Bash(git pull*)
Bash(git push*)
Bash(git mv*)
Bash(git remote*)
Bash(git check-ignore*)
Bash(git -C*)
Bash(git -c*)
Bash(mkdir *)
Bash(cp *)
Bash(mv *)
Bash(gh pr *)
Bash(gh api*)

Similar rigs

copied ✓