Files
tasq/.claude/settings.json
T
2026-04-27 06:20:39 +08:00

309 lines
9.0 KiB
JSON

{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs pre-bash",
"timeout": 5000
}
]
},
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs pre-edit",
"timeout": 5000
}
]
}
],
"PostToolUse": [
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs post-edit",
"timeout": 10000
}
]
},
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs post-bash",
"timeout": 5000
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs route",
"timeout": 10000
},
{
"type": "command",
"shell": "powershell",
"statusMessage": "Loading architecture context...",
"command": "$f = \"$env:CLAUDE_PROJECT_DIR/graphify-out/GRAPH_REPORT.md\"; if (Test-Path $f) { $c = Get-Content -Raw $f; $o = @{ hookSpecificOutput = @{ hookEventName = 'UserPromptSubmit'; additionalContext = \"=== GRAPHIFY ARCHITECTURE CONTEXT ===`n$c`n=== END GRAPHIFY CONTEXT ===\" } } | ConvertTo-Json -Depth 5 -Compress; Write-Output $o }"
}
]
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs session-restore",
"timeout": 15000
},
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/auto-memory-hook.mjs import",
"timeout": 8000
},
{
"type": "command",
"shell": "powershell",
"async": true,
"statusMessage": "Starting workers and graphify...",
"command": "$branch = git branch --show-current; Write-Host \"[Hook] Branch: $branch\"; if (!(Get-NetTCPConnection -LocalPort 37777 -ErrorAction SilentlyContinue)) { Start-Process cmd -ArgumentList '/c','npx','claude-mem','start' -WindowStyle Hidden -ErrorAction SilentlyContinue }; Start-Process claude-flow -ArgumentList 'daemon','start' -WindowStyle Hidden -ErrorAction SilentlyContinue; Start-Process graphify -ArgumentList '--watch' -WindowStyle Minimized -ErrorAction SilentlyContinue; $t=0; while (!(Get-NetTCPConnection -LocalPort 37777 -ErrorAction SilentlyContinue) -and $t -lt 20) { Start-Sleep 1; $t++ }; if (Get-NetTCPConnection -LocalPort 37777 -ErrorAction SilentlyContinue) { Start-Process cmd -ArgumentList '/c','start','\"\"','\"http://localhost:37777\"' -WindowStyle Hidden; Write-Host \"[Hook] Opened claude-mem dashboard\" } else { Write-Host \"[Hook] claude-mem not running on :37777 (needs Bun + plugin install — run 'npx claude-mem install' outside Claude Code)\" }; $graphHtml = \"$env:CLAUDE_PROJECT_DIR\\graphify-out\\graph.html\"; if (Test-Path $graphHtml) { Start-Process cmd -ArgumentList '/c','start','\"\"',\"`\"$graphHtml`\"\" -WindowStyle Hidden; Write-Host \"[Hook] Opened graphify visualization\" }"
}
]
}
],
"SessionEnd": [
{
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs session-end",
"timeout": 10000
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/auto-memory-hook.mjs sync",
"timeout": 10000
},
{
"type": "command",
"shell": "powershell",
"async": true,
"statusMessage": "Updating architecture graph...",
"command": "Write-Host \"[Hook] Regenerating graphify...\"; graphify 2>$null; $wshell = New-Object -ComObject WScript.Shell; $wshell.Popup(\"Claude finished. Architecture graph updated.\", 5, \"Claude Code Task Complete\", 64)"
}
]
}
],
"PreCompact": [
{
"matcher": "manual",
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs compact-manual"
},
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs session-end",
"timeout": 5000
}
]
},
{
"matcher": "auto",
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs compact-auto"
},
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs session-end",
"timeout": 6000
}
]
}
],
"SubagentStart": [
{
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs status",
"timeout": 3000
}
]
}
],
"SubagentStop": [
{
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs post-task",
"timeout": 5000
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "cmd /c node %CLAUDE_PROJECT_DIR%/.claude/helpers/hook-handler.cjs notify",
"timeout": 3000
}
]
}
]
},
"statusLine": {
"type": "command",
"command": "sh -c 'exec node \"${CLAUDE_PROJECT_DIR:-.}/.claude/helpers/statusline.cjs\"'"
},
"permissions": {
"allow": [
"Bash(npx @claude-flow*)",
"Bash(npx claude-flow*)",
"Bash(node .claude/*)",
"mcp__claude-flow__:*"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)"
]
},
"attribution": {
"commit": "Co-Authored-By: claude-flow <ruv@ruv.net>",
"pr": "🤖 Generated with [claude-flow](https://github.com/ruvnet/claude-flow)"
},
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
"CLAUDE_FLOW_V3_ENABLED": "true",
"CLAUDE_FLOW_HOOKS_ENABLED": "true"
},
"claudeFlow": {
"version": "3.0.0",
"enabled": true,
"platform": {
"os": "windows",
"arch": "x64",
"shell": "powershell"
},
"modelPreferences": {
"default": "claude-opus-4-6",
"routing": "claude-haiku-4-5-20251001"
},
"agentTeams": {
"enabled": true,
"teammateMode": "auto",
"taskListEnabled": true,
"mailboxEnabled": true,
"coordination": {
"autoAssignOnIdle": true,
"trainPatternsOnComplete": true,
"notifyLeadOnComplete": true,
"sharedMemoryNamespace": "agent-teams"
},
"hooks": {
"teammateIdle": {
"enabled": true,
"autoAssign": true,
"checkTaskList": true
},
"taskCompleted": {
"enabled": true,
"trainPatterns": true,
"notifyLead": true
}
}
},
"swarm": {
"topology": "hierarchical-mesh",
"maxAgents": 15
},
"memory": {
"backend": "hybrid",
"enableHNSW": true,
"learningBridge": {
"enabled": true
},
"memoryGraph": {
"enabled": true
},
"agentScopes": {
"enabled": true
}
},
"neural": {
"enabled": true
},
"daemon": {
"autoStart": false,
"workers": [
"map",
"audit",
"optimize"
],
"schedules": {
"audit": {
"interval": "4h",
"priority": "critical"
},
"optimize": {
"interval": "2h",
"priority": "high"
}
}
},
"learning": {
"enabled": true,
"autoTrain": true,
"patterns": [
"coordination",
"optimization",
"prediction"
],
"retention": {
"shortTerm": "24h",
"longTerm": "30d"
}
},
"adr": {
"autoGenerate": true,
"directory": "/docs/adr",
"template": "madr"
},
"ddd": {
"trackDomains": true,
"validateBoundedContexts": true,
"directory": "/docs/ddd"
},
"security": {
"autoScan": true,
"scanOnEdit": true,
"cveCheck": true,
"threatModel": true
}
}
}