- VERSION file as authoritative version source - export.mjs reads VERSION with package.json fallback - bw-ota.ps1 DryRun mode for safe testing - auto-setup.ps1 bumped to v3.2.0 (Phase 8 OTA)
363 lines
8.4 KiB
JSON
363 lines
8.4 KiB
JSON
{
|
|
"env": {
|
|
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
|
|
"HOME": "{{HOME}}",
|
|
"SUPABASE_ACCESS_TOKEN": "${SUPABASE_ACCESS_TOKEN}"
|
|
},
|
|
"permissions": {
|
|
"allow": [
|
|
"Read",
|
|
"Glob",
|
|
"Grep",
|
|
"WebSearch",
|
|
"WebFetch",
|
|
"Skill",
|
|
"Task",
|
|
"TaskCreate",
|
|
"TaskUpdate",
|
|
"TaskList",
|
|
"TaskGet",
|
|
"AskUserQuestion"
|
|
]
|
|
},
|
|
"model": "claude-opus-4-6[1m]",
|
|
"hooks": {
|
|
"UserPromptSubmit": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/prompt-dispatcher.js",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/clipboard-image-hook.js",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/session-start-restore.js",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/session-start-mcp-probe.js",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/session-start-memory-audit.js",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/check-gray-expiry.js",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/project-context-injector.js",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/context-pressure-monitor.js",
|
|
"timeout": 1500
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/token-saver-dispatcher.js --mode=model-advisor",
|
|
"timeout": 1500
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/bash-precheck-dispatcher.js",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Edit|Write|NotebookEdit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/edit-precheck-dispatcher.js",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Skill",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/route-compliance-gate.js",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "mcp__",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/mcp-safety-gate.js",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Task",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/pre-agent-gate.js",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Bash|Write|Edit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/agent-isolation-gate.js",
|
|
"timeout": 1500
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Read",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/token-saver-dispatcher.js --mode=read-guard",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/token-saver-dispatcher.js --mode=bash-limiter",
|
|
"timeout": 1500
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"matcher": "Edit|Write|NotebookEdit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/post-edit-snapshot.js",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Edit|Write|NotebookEdit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/post-edit-dispatcher.js",
|
|
"timeout": 8000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Skill|Agent",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/memory-persistence-trigger.js",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Edit|Write|Skill|Agent|Bash|mcp__.*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/activity-logger.js",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Edit|Write|Skill|Agent|Bash|mcp__.*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/session-heartbeat.js",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/build-outcome-tracker.js",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Edit|Write",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/constitution-delivery-reminder.js",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Read|Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/token-saver-dispatcher.js --mode=post-output-guard",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "mcp__",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/token-saver-dispatcher.js --mode=mcp-tracker",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{HOME}}/AppData/Local/npm-cache/_npx/41147f6a3b3ef0bb/node_modules/claude-session-continuity-mcp/dist/hooks/post-tool-use.js"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreCompact": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/pre-compact-handoff.js",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{HOME}}/AppData/Local/npm-cache/_npx/41147f6a3b3ef0bb/node_modules/claude-session-continuity-mcp/dist/hooks/pre-compact.js"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SubagentStart": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/subagent-route-injector.js",
|
|
"timeout": 2000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/stop-dispatcher.js",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/token-saver-dispatcher.js --mode=session-report",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{HOME}}/AppData/Local/npm-cache/_npx/41147f6a3b3ef0bb/node_modules/claude-session-continuity-mcp/dist/hooks/session-end.js"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SubagentStop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node {{CLAUDE_ROOT}}/hooks/agent-claim-observer.js",
|
|
"timeout": 3000
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"effortLevel": "high",
|
|
"skipDangerousModePermissionPrompt": true
|
|
} |