~ / rigs / design-and-deliver / claude-code-autoconfig

design-and-deliver/claude-code-autoconfig

Intelligent, self-configuring setup for Claude Code 👉 npx claude-code-autoconfig

↗ GitHub ★ 2 mit updated 11d ago personal setup Claude Code
share on X
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
CONTEXT TAX · EVERY TURN
~4.4k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
4/5
Blocks destructive commands · Protects secrets · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit design-and-deliver/claude-code-autoconfig/.claude ./rig-claude-code-autoconfig  # 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 design-and-deliver/claude-code-autoconfig/.claude/skills/plan-authoring .claude/skills/plan-authoring
$ curl -fsSL --create-dirs -o .claude/agents/create-retro-item.md https://raw.githubusercontent.com/design-and-deliver/claude-code-autoconfig/main/.claude/agents/create-retro-item.md
$ curl -fsSL --create-dirs -o .claude/agents/docs-refresh.md https://raw.githubusercontent.com/design-and-deliver/claude-code-autoconfig/main/.claude/agents/docs-refresh.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": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./**/credentials.*)",
      "Read(./**/*.pem)",
      "Read(./**/*.key)",
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Bash(wget *)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "node \"${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/auto-guard.js\""
          },
          {
            "type": "command",
            "command": "node \"${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/feedback-rule-check.js\""
          }
        ]
      }
    ]
  }
}

Skills (1)

Subagents (2)

create-retro-item
model: haiku
Writes a fully-scoped retro story file into .claude/retro/ when tech debt, friction, or an improvement opportunity is worth tracking. Use proactively after finishing a task; hand it title, problem, cr
docs-refresh—

Hooks (13)

eventmatcherruns
SessionStart*node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/migrate-feedback.js"
SessionStart*node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/terminal-title.js"
UserPromptSubmit*node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/terminal-title.js"
Stop*cd "${CLAUDE_PROJECT_DIR:-.}" 2>/dev/null; if [ -n "$(find .git/.cc-commit-active -mmin -5 2>/dev/null)" ]; then exit 0; fi; f=$(git status --porcelain 2>/dev/null | grep -c .); l=$(git diff HEAD --numstat 2>/dev/null | awk '{s+=$1+$2} END
Stop*node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/terminal-title.js"
Stop*node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/arcade-beeps.js"
Notificationpermission_promptnode "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/terminal-title.js"
Notificationpermission_promptnode "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/arcade-beeps.js"
Notificationidle_promptnode "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/terminal-title.js" --idle-rescue
PreToolUseBashnode "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/auto-guard.js"
PreToolUseBashnode "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/feedback-rule-check.js"
PostToolUseBashnode "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/mark-commit-active.js"
PostToolUseBash|Write|Edit|MultiEdit|NotebookEdit|WebFetch|WebSearch|Task|Agent|AskUserQuestionnode "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/terminal-title.js"

Slash commands (33)

/abort-plan/analyze-session/autoconfig-update/autoconfig/check-commit/commit-and-push/continue/cost-compare/create-wip-report/disable-auto-mode/disable-status-beeps/enable-auto-mode/enable-retro/enable-status-beeps/eod-report/extract-rules/fleet/gimme-one-liner/gls/land/migrate-new-session/plan-progress/recover-context/refactor/restore-after-reboot/show-docs/submit-claude-code-github-issue/sync-claude-md/sync-worktrees/test/token-saver-rationale/usage-report/whats-happening

Permissions

deny (9)
Read(./.env)
Read(./.env.*)
Read(./secrets/**)
Read(./**/credentials.*)
Read(./**/*.pem)
Read(./**/*.key)
Bash(rm -rf *)
Bash(curl *)
Bash(wget *)
ask (0)
—
allow (43)
Read(./**)
Edit(./**)
Glob
Grep
WebSearch
WebFetch
Bash(npm test)
Bash(npm test *)
Bash(npm run dev)
Bash(npm run build)
Bash(npm run lint)
Bash(npm run lint:fix)
Bash(npm run typecheck)
Bash(npm run test)
Bash(npm run test:*)
Bash(npm run validate)
Bash(git status)
Bash(git status *)
Bash(git diff *)
Bash(git add *)
Bash(git commit *)
Bash(git push *)
Bash(git pull)
Bash(git pull *)
Bash(git checkout *)
Bash(git branch *)
Bash(node .claude/*)
Bash(python3 *)
Bash(npx claude-code-autoconfig*)
Bash(npm pack *)
Bash(tar *)
Bash(mktemp *)
Bash(find ./*)
Bash(ls *)
Bash(dir *)
Bash(mkdir *)
Bash(mkdir -p *)
Bash(start *)
Bash(start .claude *)
Bash(open *)
Bash(open .claude *)
Bash(xdg-open *)
Bash(xdg-open .claude *)

Similar rigs

copied ✓