c-stone-invoice-check/clowdex-download/.claude/.claude/settings.json

115 lines
3.5 KiB
JSON

{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/guard-bash.sh\"",
"statusMessage": "Checking command safety..."
}
]
},
{
"matcher": "Write|Edit|NotebookEdit",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/backup-before-write.sh\"",
"statusMessage": "Backing up before write...",
"async": true
},
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/completeness-gate.sh\"",
"statusMessage": "Validating content completeness...",
"async": false
}
]
}
],
"PostToolUse": [
{
"matcher": "Write|Edit|NotebookEdit",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/log-changes.sh\"",
"statusMessage": "Logging change...",
"async": true
}
]
}
],
"PostToolUseFailure": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/log-failures.sh\"",
"statusMessage": "Logging failure...",
"async": true
}
]
}
],
"PreCompact": [
{
"matcher": "auto",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/pre-compact-handoff.sh\"",
"timeout": 5,
"statusMessage": "Saving state before compaction..."
}
]
}
],
"SessionStart": [
{
"matcher": "user",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/session-reset.sh\"",
"timeout": 3,
"statusMessage": "Resetting session state..."
}
]
},
{
"matcher": "compact",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/post-compact-resume.sh\"",
"timeout": 10,
"statusMessage": "Restoring context after compaction..."
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "prompt",
"prompt": "You are a JSON-only response bot. Output raw JSON with no markdown, no code fences, no prose. Review this conversation and return exactly one JSON object: {\"decision\":\"allow\",\"learning\":null,\"task_type\":\"other\"} — decision is \"allow\" if all user-requested tasks were completed, \"block\" if something was missed (add \"reason\" field). learning is a one-sentence lesson if errors were resolved (root cause + fix), otherwise null. task_type is one of: build, debug, refactor, test, docs, research, deploy, admin, setup, other. RESPOND WITH ONLY THE JSON OBJECT. NO OTHER TEXT.",
"timeout": 15,
"model": "haiku"
},
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/log-stop-verdict.sh\"",
"statusMessage": "Logging session verdict...",
"async": true
}
]
}
]
}
}