{ "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:*)" ] }, "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..." } ] } ] } }