{
  "permissions": {
    "allow": [
      "Read(**)",
      "Glob(**)",
      "Grep(**)",
      "Bash(python -m archivebox:*)",
      "Bash(ls:*)",
      "Bash(xargs:*)",
      "Bash(python -c:*)",
      "Bash(printf:*)",
      "Bash(pkill:*)",
      "Bash(python3:*)",
      "Bash(sqlite3:*)",
      "WebFetch(domain:github.com)",
      "Bash(uv add:*)",
      "Bash(mkdir:*)",
      "Bash(chmod:*)",
      "Bash(python -m forum_dl:*)",
      "Bash(archivebox manage migrate:*)",
      "Bash(cat:*)",
      "Bash(python archivebox/plugins/pip/on_Dependency__install_using_pip_provider.py:*)",
      "Bash(forum-dl:*)",
      "Bash(pip uninstall:*)",
      "Bash(python:*)",
      "Bash(source .venv/bin/activate)",
      "Bash(mv:*)",
      "Bash(echo:*)",
      "Bash(grep:*)",
      "WebFetch(domain:python-statemachine.readthedocs.io)",
      "Bash(./bin/run_plugin_tests.sh:*)",
      "Bash(done)",
      "Bash(coverage erase:*)",
      "Bash(gh api:*)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null); if [ -n \"$REPO_ROOT\" ] && [ \"$PWD\" != \"$REPO_ROOT\" ]; then echo \"ERROR: Not in repo root ($REPO_ROOT). Current dir: $PWD\" >&2; exit 1; fi",
            "statusMessage": "Checking working directory..."
          }
        ]
      }
    ]
  }
}
