~ / rigs / dagonet / claude-code-toolkit

dagonet/claude-code-toolkit

Bootstrap projects with a production-ready Claude Code workflow in one command. Templates for .NET, Java, Python, Rust+Tauri, MAUI, or any language.

↗ GitHub ★ 4 MIT updated today project Claude CodeCodex
share on X
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
CONTEXT TAX · EVERY TURN
~7.7k 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 dagonet/claude-code-toolkit/.claude ./rig-claude-code-toolkit  # 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.

$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/backlog-board .claude/skills/backlog-board
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/challenge .claude/skills/challenge
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/commit .claude/skills/commit
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/contribute-upstream .claude/skills/contribute-upstream
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/jev .claude/skills/jev
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/karpathy-guidelines .claude/skills/karpathy-guidelines
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/mcp-usage .claude/skills/mcp-usage
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/retro-review .claude/skills/retro-review
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/sprint .claude/skills/sprint
$ npx degit dagonet/claude-code-toolkit/user-level-reference/skills/sync-template .claude/skills/sync-template
$ curl -fsSL --create-dirs -o .claude/agents/Explore.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet-maui/.claude/agents/Explore.md
$ curl -fsSL --create-dirs -o .claude/agents/architect.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet-maui/.claude/agents/architect.md
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet-maui/.claude/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet-maui/.claude/agents/coder.md
$ curl -fsSL --create-dirs -o .claude/agents/dotnet-coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet-maui/.claude/agents/dotnet-coder.md
$ curl -fsSL --create-dirs -o .claude/agents/ops.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet-maui/.claude/agents/ops.md
$ curl -fsSL --create-dirs -o .claude/agents/tester.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet-maui/.claude/agents/tester.md
$ curl -fsSL --create-dirs -o .claude/agents/Explore.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet/.claude/agents/Explore.md
$ curl -fsSL --create-dirs -o .claude/agents/architect.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet/.claude/agents/architect.md
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet/.claude/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet/.claude/agents/coder.md
$ curl -fsSL --create-dirs -o .claude/agents/dotnet-coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet/.claude/agents/dotnet-coder.md
$ curl -fsSL --create-dirs -o .claude/agents/ops.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet/.claude/agents/ops.md
$ curl -fsSL --create-dirs -o .claude/agents/tester.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/dotnet/.claude/agents/tester.md
$ curl -fsSL --create-dirs -o .claude/agents/Explore.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/general/.claude/agents/Explore.md
$ curl -fsSL --create-dirs -o .claude/agents/architect.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/general/.claude/agents/architect.md
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/general/.claude/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/general/.claude/agents/coder.md
$ curl -fsSL --create-dirs -o .claude/agents/ops.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/general/.claude/agents/ops.md
$ curl -fsSL --create-dirs -o .claude/agents/tester.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/general/.claude/agents/tester.md
$ curl -fsSL --create-dirs -o .claude/agents/Explore.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/java/.claude/agents/Explore.md
$ curl -fsSL --create-dirs -o .claude/agents/architect.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/java/.claude/agents/architect.md
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/java/.claude/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/java/.claude/agents/coder.md
$ curl -fsSL --create-dirs -o .claude/agents/java-coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/java/.claude/agents/java-coder.md
$ curl -fsSL --create-dirs -o .claude/agents/ops.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/java/.claude/agents/ops.md
$ curl -fsSL --create-dirs -o .claude/agents/tester.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/java/.claude/agents/tester.md
$ curl -fsSL --create-dirs -o .claude/agents/Explore.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/python/.claude/agents/Explore.md
$ curl -fsSL --create-dirs -o .claude/agents/architect.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/python/.claude/agents/architect.md
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/python/.claude/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/python/.claude/agents/coder.md
$ curl -fsSL --create-dirs -o .claude/agents/ops.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/python/.claude/agents/ops.md
$ curl -fsSL --create-dirs -o .claude/agents/python-coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/python/.claude/agents/python-coder.md
$ curl -fsSL --create-dirs -o .claude/agents/tester.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/python/.claude/agents/tester.md
$ curl -fsSL --create-dirs -o .claude/agents/Explore.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/rust-tauri/.claude/agents/Explore.md
$ curl -fsSL --create-dirs -o .claude/agents/architect.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/rust-tauri/.claude/agents/architect.md
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/rust-tauri/.claude/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/rust-tauri/.claude/agents/coder.md
$ curl -fsSL --create-dirs -o .claude/agents/ops.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/rust-tauri/.claude/agents/ops.md
$ curl -fsSL --create-dirs -o .claude/agents/rust-coder.md https://raw.githubusercontent.com/dagonet/claude-code-toolkit/main/templates/rust-tauri/.claude/agents/rust-coder.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": [
      "mcp__git-tools__git_push",
      "mcp__git-tools__git_commit",
      "mcp__git-tools__git_revert",
      "mcp__git-tools__git_rebase",
      "mcp__git-tools__git_reset"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash|PowerShell",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/pre-commit-test.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOOK BLO"
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/no-push-main.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOOK BLOCKE"
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/gate-before-merge.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOOK B"
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/pre-commit-test.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOOK BLO"
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/no-push-main.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOOK BLOCKE"
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/gate-before-merge.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOOK B"
          }
        ]
      },
      {
        "matcher": "mcp__MCP_DOCKER__merge_pull_request|mcp__github-tools__github_pr_auto_merge",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/gate-before-merge.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOOK B"
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/gate-before-merge.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOOK B"
          }
        ]
      },
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/deny-hang-shapes.sh\"; [ -r \"$f\" ] || exit 0; exec bash \"$f\""
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/enforce-delegation.sh\"; [ -r \"$f\" ] || { echo \"WARN: $f missing -- delegation enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 0; }; exec bash \"$f\""
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/deny-hang-shapes.sh\"; [ -r \"$f\" ] || exit 0; exec bash \"$f\""
          }
        ]
      },
      {
        "matcher": "Agent",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/model-floor.sh\"; [ -r \"$f\" ] || exit 0; exec bash \"$f\""
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/require-skills-block.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo \"HOO"
          },
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/model-floor.sh\"; [ -r \"$f\" ] || exit 0; exec bash \"$f\""
          }
        ]
      },
      {
        "matcher": "Read|Bash",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/deny-secret-reads.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- secrets protection offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "
          }
        ]
      },
      {
        "matcher": "Edit|Write|MultiEdit|NotebookEdit",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/deny-claude-md-writes.sh\"; [ -r \"$f\" ] || { echo \"HOOK SCRIPT MISSING: $f -- CLAUDE.md protection offline. Check that hooks/ exists at the project root.\" >&2; exit 2; }; command -v bash >/dev/null 2>&1 || {"
          }
        ]
      },
      {
        "matcher": "Read",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/read-size-gate.sh\"; [ -r \"$f\" ] || { echo \"WARN: $f missing -- Read size gate offline. Check that hooks/ exists at the project root.\" >&2; exit 0; }; exec bash \"$f\""
          }
        ]
      },
      {
        "matcher": "Edit|Write|NotebookEdit",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/enforce-delegation.sh\"; [ -r \"$f\" ] || { echo \"WARN: $f missing -- delegation enforcement offline. Check that hooks/ exists at the project root.\" >&2; exit 0; }; exec bash \"$f\""
          }
        ]
      },
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "f=\"${CLAUDE_PROJECT_DIR:-.}/hooks/agent-budget-warn.sh\"; [ -r \"$f\" ] || { echo \"WARN: $f missing -- tool-call budget offline. Check that hooks/ exists at the project root.\" >&2; exit 0; }; exec bash \"$f\""
          }
        ]
      }
    ]
  }
}

Skills (10)

Subagents (41)

Explore
model: haiku
Read-only codebase search. Returns ranked file:line findings with one-line reasons — never whole files, never edits. Use for "where is X", "how does Y work", "list all uses of Z".
architect
model: opus
Reviews architecture, provides implementation guidance, maintains ADRs and docs. Does NOT write application code.
code-reviewer
model: opus
Reviews code for quality, style, structure, and test coverage. Posts categorized findings. Does NOT write code.
coder
model: sonnet
Use this agent to implement any kind of software changes in a repository with high-quality engineering standards.
dotnet-coder
model: sonnet
|
ops
model: sonnet
Environment and tooling executor. Handles setup, downloads/installs, binary/file operations, one-off tool runs, diagnostics, and log collection. Does NOT author application code and does NOT merge.
tester
model: sonnet
Verifies features against acceptance criteria using automated tests, data inspection, and log analysis. Posts findings on GitHub issues.
Explore
model: haiku
Read-only codebase search. Returns ranked file:line findings with one-line reasons — never whole files, never edits. Use for "where is X", "how does Y work", "list all uses of Z".
architect
model: opus
Reviews architecture, provides implementation guidance, maintains ADRs and docs. Does NOT write application code.
code-reviewer
model: opus
Reviews code for quality, style, structure, and test coverage. Posts categorized findings. Does NOT write code.
coder
model: sonnet
Use this agent to implement any kind of software changes in a repository with high-quality engineering standards.
dotnet-coder
model: sonnet
|
ops
model: sonnet
Environment and tooling executor. Handles setup, downloads/installs, binary/file operations, one-off tool runs, diagnostics, and log collection. Does NOT author application code and does NOT merge.
tester
model: sonnet
Verifies features against acceptance criteria using automated tests, data inspection, and log analysis. Posts findings on GitHub issues.
Explore
model: haiku
Read-only codebase search. Returns ranked file:line findings with one-line reasons — never whole files, never edits. Use for "where is X", "how does Y work", "list all uses of Z".
architect
model: opus
Reviews architecture, provides implementation guidance, maintains ADRs and docs. Does NOT write application code.
code-reviewer
model: opus
Reviews code for quality, style, structure, and test coverage. Posts categorized findings. Does NOT write code.
coder
model: sonnet
Use this agent to implement any kind of software changes in a repository with high-quality engineering standards.
ops
model: sonnet
Environment and tooling executor. Handles setup, downloads/installs, binary/file operations, one-off tool runs, diagnostics, and log collection. Does NOT author application code and does NOT merge.
tester
model: sonnet
Verifies features against acceptance criteria using automated tests, data inspection, and log analysis. Posts findings on GitHub issues.
Explore
model: haiku
Read-only codebase search. Returns ranked file:line findings with one-line reasons — never whole files, never edits. Use for "where is X", "how does Y work", "list all uses of Z".
architect
model: opus
Reviews architecture, provides implementation guidance, maintains ADRs and docs. Does NOT write application code.
code-reviewer
model: opus
Reviews code for quality, style, structure, and test coverage. Posts categorized findings. Does NOT write code.
coder
model: sonnet
Use this agent to implement any kind of software changes in a repository with high-quality engineering standards.
java-coder
model: sonnet
|
ops
model: sonnet
Environment and tooling executor. Handles setup, downloads/installs, binary/file operations, one-off tool runs, diagnostics, and log collection. Does NOT author application code and does NOT merge.
tester
model: sonnet
Verifies features against acceptance criteria using automated tests, data inspection, and log analysis. Posts findings on GitHub issues.
Explore
model: haiku
Read-only codebase search. Returns ranked file:line findings with one-line reasons — never whole files, never edits. Use for "where is X", "how does Y work", "list all uses of Z".
architect
model: opus
Reviews architecture, provides implementation guidance, maintains ADRs and docs. Does NOT write application code.
code-reviewer
model: opus
Reviews code for quality, style, structure, and test coverage. Posts categorized findings. Does NOT write code.
coder
model: sonnet
Use this agent to implement any kind of software changes in a repository with high-quality engineering standards.
ops
model: sonnet
Environment and tooling executor. Handles setup, downloads/installs, binary/file operations, one-off tool runs, diagnostics, and log collection. Does NOT author application code and does NOT merge.
python-coder
model: sonnet
|
tester
model: sonnet
Verifies features against acceptance criteria using automated tests, data inspection, and log analysis. Posts findings on GitHub issues.
Explore
model: haiku
Read-only codebase search. Returns ranked file:line findings with one-line reasons — never whole files, never edits. Use for "where is X", "how does Y work", "list all uses of Z".
architect
model: opus
Reviews architecture, provides implementation guidance, maintains ADRs and docs. Does NOT write application code.
code-reviewer
model: opus
Reviews code for quality, style, structure, and test coverage. Posts categorized findings. Does NOT write code.
coder
model: sonnet
Use this agent to implement any kind of software changes in a repository with high-quality engineering standards.
ops
model: sonnet
Environment and tooling executor. Handles setup, downloads/installs, binary/file operations, one-off tool runs, diagnostics, and log collection. Does NOT author application code and does NOT merge.
rust-coder
model: sonnet
|

Hooks (27)

eventmatcherruns
PreToolUseBash|PowerShellf="${CLAUDE_PROJECT_DIR:-.}/hooks/pre-commit-test.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOOK BLO
PreToolUseBash|PowerShellf="${CLAUDE_PROJECT_DIR:-.}/hooks/no-push-main.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOOK BLOCKE
PreToolUseBash|PowerShellf="${CLAUDE_PROJECT_DIR:-.}/hooks/gate-before-merge.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOOK B
PreToolUsemcp__MCP_DOCKER__merge_pull_request|mcp__github-tools__github_pr_auto_mergef="${CLAUDE_PROJECT_DIR:-.}/hooks/gate-before-merge.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOOK B
PreToolUseBashf="${CLAUDE_PROJECT_DIR:-.}/hooks/deny-hang-shapes.sh"; [ -r "$f" ] || exit 0; exec bash "$f"
PreToolUseAgentf="${CLAUDE_PROJECT_DIR:-.}/hooks/model-floor.sh"; [ -r "$f" ] || exit 0; exec bash "$f"
PostToolUseEdit|Writeexec bash "${CLAUDE_PROJECT_DIR:-.}/hooks/post-edit-build.sh"
PreToolUseBash|PowerShellf="${CLAUDE_PROJECT_DIR:-.}/hooks/pre-commit-test.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOOK BLO
PreToolUseBash|PowerShellf="${CLAUDE_PROJECT_DIR:-.}/hooks/no-push-main.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOOK BLOCKE
PreToolUseBash|PowerShellf="${CLAUDE_PROJECT_DIR:-.}/hooks/gate-before-merge.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOOK B
PreToolUseRead|Bashf="${CLAUDE_PROJECT_DIR:-.}/hooks/deny-secret-reads.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- secrets protection offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo
PreToolUseEdit|Write|MultiEdit|NotebookEditf="${CLAUDE_PROJECT_DIR:-.}/hooks/deny-claude-md-writes.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- CLAUDE.md protection offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || {
PreToolUseReadf="${CLAUDE_PROJECT_DIR:-.}/hooks/read-size-gate.sh"; [ -r "$f" ] || { echo "WARN: $f missing -- Read size gate offline. Check that hooks/ exists at the project root." >&2; exit 0; }; exec bash "$f"
PreToolUsemcp__MCP_DOCKER__merge_pull_request|mcp__github-tools__github_pr_auto_mergef="${CLAUDE_PROJECT_DIR:-.}/hooks/gate-before-merge.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOOK B
PreToolUseAgentf="${CLAUDE_PROJECT_DIR:-.}/hooks/require-skills-block.sh"; [ -r "$f" ] || { echo "HOOK SCRIPT MISSING: $f -- enforcement offline. Check that hooks/ exists at the project root." >&2; exit 2; }; command -v bash >/dev/null 2>&1 || { echo "HOO
PreToolUseAgentf="${CLAUDE_PROJECT_DIR:-.}/hooks/model-floor.sh"; [ -r "$f" ] || exit 0; exec bash "$f"
PreToolUseEdit|Write|NotebookEditf="${CLAUDE_PROJECT_DIR:-.}/hooks/enforce-delegation.sh"; [ -r "$f" ] || { echo "WARN: $f missing -- delegation enforcement offline. Check that hooks/ exists at the project root." >&2; exit 0; }; exec bash "$f"
PreToolUseBashf="${CLAUDE_PROJECT_DIR:-.}/hooks/enforce-delegation.sh"; [ -r "$f" ] || { echo "WARN: $f missing -- delegation enforcement offline. Check that hooks/ exists at the project root." >&2; exit 0; }; exec bash "$f"
PreToolUseBashf="${CLAUDE_PROJECT_DIR:-.}/hooks/deny-hang-shapes.sh"; [ -r "$f" ] || exit 0; exec bash "$f"
PreToolUse*f="${CLAUDE_PROJECT_DIR:-.}/hooks/agent-budget-warn.sh"; [ -r "$f" ] || { echo "WARN: $f missing -- tool-call budget offline. Check that hooks/ exists at the project root." >&2; exit 0; }; exec bash "$f"
PostToolUseBash|PowerShellexec bash "${CLAUDE_PROJECT_DIR:-.}/hooks/bash-output-guard.sh"
PostToolUseEdit|Writeexec bash "${CLAUDE_PROJECT_DIR:-.}/hooks/post-edit-build.sh"
SubagentStop*exec bash "${CLAUDE_PROJECT_DIR:-.}/hooks/enforce-agent-contract.sh"
SubagentStop*exec bash "${CLAUDE_PROJECT_DIR:-.}/hooks/retro-ledger.sh"
SessionStart*exec bash "${CLAUDE_PROJECT_DIR:-.}/hooks/retro-brief.sh"
SessionStart*exec bash "${CLAUDE_PROJECT_DIR:-.}/hooks/verify-hooks.sh"
PreCompactautoecho '=== PRE-COMPACTION STATE ===' && (cat docs/plans/*.md 2>/dev/null | head -50 || echo 'No plan files') && echo '---' && (git worktree list 2>/dev/null || true) && echo '---' && (git branch --sort=-committerdate 2>/dev/null | head -10 |

Plugins (2)

superpowers@claude-plugins-officialcode-review@claude-plugins-official

Permissions

deny (5)
mcp__git-tools__git_push
mcp__git-tools__git_commit
mcp__git-tools__git_revert
mcp__git-tools__git_rebase
mcp__git-tools__git_reset
ask (0)
—
allow (21)
Bash(bash hooks/run-gate.sh*)
Read
Edit
Write
NotebookEdit
WebSearch
mcp__github-tools__*
mcp__MCP_DOCKER__*
mcp__dotnet-tools__*
mcp__rust-tools__*
mcp__ollama-tools__*
mcp__plugin_context7_context7__*
mcp__plugin_playwright_playwright__*
mcp__windows-mcp__*
mcp__sqlite__*
mcp__searxng__*
mcp__open-brain__*
mcp__godot-tools__*
mcp__plugin_context-mode_context-mode__*
mcp__template-sync-tools__*
mcp__git-tools__*

Similar rigs

copied ✓