{
  "_comment": "Example Claude Code settings.json — hooks + permission structure. Replace <project-root> with your own absolute project path. Mirrors the Alice agent's hook layout (SessionStart / UserPromptSubmit / PreToolUse / PostToolUse).",
  "permissions": {
    "allow": [
      "Read(*)",
      "Write(<project-root>/**)",

      "Bash(mkdir:*)",
      "Bash(cp:*)",
      "Bash(mv:*)",
      "Bash(ls:*)",
      "Bash(find:*)",
      "Bash(echo:*)",
      "Bash(head:*)",
      "Bash(tail:*)",
      "Bash(diff:*)",
      "Bash(grep:*)",
      "Bash(wc:*)",
      "Bash(printf:*)",
      "Bash(sed:*)",
      "Bash(awk:*)",

      "Bash(git add:*)",
      "Bash(git commit:*)",
      "Bash(git checkout:*)",
      "Bash(git switch:*)",
      "Bash(git diff:*)",
      "Bash(git log:*)",
      "Bash(git status:*)",
      "Bash(git push:*)",
      "Bash(git -C:*)",

      "Bash(npm:*)",
      "Bash(npx:*)",
      "Bash(node:*)",
      "Bash(pnpm:*)",

      "Bash(cargo build:*)",
      "Bash(cargo test:*)",
      "Bash(cargo clippy:*)",

      "Bash(python:*)",
      "Bash(pytest:*)"
    ],
    "deny": [
      "Write(<project-root>/.claude/settings.json)",
      "Bash(git merge:*)",
      "Bash(git reset --hard:*)",
      "Bash(git push --force:*)",

      "Bash(rm -rf /:*)",
      "Bash(format:*)",

      "Bash(curl:*)",
      "Bash(wget:*)",

      "Bash(npm install:*)",
      "Bash(pip install:*)"
    ]
  },
  "hooks": {
    "SessionStart": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/session-start-context.sh\""
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/auto-log-prompt.sh\""
          }
        ]
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/safety-guard.sh\""
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Bash(git commit*)",
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/pre-commit-secret-scan.sh\""
          }
        ]
      }
    ]
  },
  "statusLine": {
    "type": "command",
    "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/statusline-command.sh\""
  }
}
