{ "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "node .claude/helpers/hook-handler.cjs pre-bash", "timeout": 5000 } ] } ], "PostToolUse": [ { "matcher": "Write|Edit|MultiEdit", "hooks": [ { "type": "command", "command": "node .claude/helpers/hook-handler.cjs post-edit", "timeout": 10000 } ] } ], "UserPromptSubmit": [ { "hooks": [ { "type": "command", "command": "node .claude/helpers/hook-handler.cjs route", "timeout": 10000 } ] } ], "SessionStart": [ { "hooks": [ { "type": "command", "command": "node .claude/helpers/hook-handler.cjs session-restore", "timeout": 15000 }, { "type": "command", "command": "node .claude/helpers/auto-memory-hook.mjs import", "timeout": 8000 } ] } ], "SessionEnd": [ { "hooks": [ { "type": "command", "command": "node .claude/helpers/hook-handler.cjs session-end", "timeout": 10000 } ] } ], "Stop": [ { "hooks": [ { "type": "command", "command": "node .claude/helpers/auto-memory-hook.mjs sync", "timeout": 10000 } ] } ], "PreCompact": [ { "matcher": "manual", "hooks": [ { "type": "command", "command": "node .claude/helpers/hook-handler.cjs compact-manual" }, { "type": "command", "command": "node .claude/helpers/hook-handler.cjs session-end", "timeout": 5000 } ] }, { "matcher": "auto", "hooks": [ { "type": "command", "command": "node .claude/helpers/hook-handler.cjs compact-auto" }, { "type": "command", "command": "node .claude/helpers/hook-handler.cjs session-end", "timeout": 6000 } ] } ], "SubagentStart": [ { "hooks": [ { "type": "command", "command": "node .claude/helpers/hook-handler.cjs status", "timeout": 3000 } ] } ] }, "statusLine": { "type": "command", "command": "node .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 ", "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, "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": true, "workers": [ "map", "audit", "optimize", "consolidate", "testgaps", "ultralearn", "deepdive", "document", "refactor", "benchmark" ], "schedules": { "audit": { "interval": "1h", "priority": "critical" }, "optimize": { "interval": "30m", "priority": "high" }, "consolidate": { "interval": "2h", "priority": "low" }, "document": { "interval": "1h", "priority": "normal", "triggers": [ "adr-update", "api-change" ] }, "deepdive": { "interval": "4h", "priority": "normal", "triggers": [ "complex-change" ] }, "ultralearn": { "interval": "1h", "priority": "normal" } } }, "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 } } }