286 lines
7.6 KiB
JSON
286 lines
7.6 KiB
JSON
{
|
|
"hooks": {
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "^(Write|Edit|MultiEdit)$",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$TOOL_INPUT_file_path\" ] && npx @claude-flow/cli@latest hooks pre-edit --file \"$TOOL_INPUT_file_path\" 2>/dev/null || true",
|
|
"timeout": 5000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "^Bash$",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$TOOL_INPUT_command\" ] && npx @claude-flow/cli@latest hooks pre-command --command \"$TOOL_INPUT_command\" 2>/dev/null || true",
|
|
"timeout": 5000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "^Task$",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$TOOL_INPUT_prompt\" ] && npx @claude-flow/cli@latest hooks pre-task --task-id \"task-$(date +%s)\" --description \"$TOOL_INPUT_prompt\" 2>/dev/null || true",
|
|
"timeout": 5000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"matcher": "^(Write|Edit|MultiEdit)$",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$TOOL_INPUT_file_path\" ] && npx @claude-flow/cli@latest hooks post-edit --file \"$TOOL_INPUT_file_path\" --success \"${TOOL_SUCCESS:-true}\" 2>/dev/null || true",
|
|
"timeout": 5000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "^Bash$",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$TOOL_INPUT_command\" ] && npx @claude-flow/cli@latest hooks post-command --command \"$TOOL_INPUT_command\" --success \"${TOOL_SUCCESS:-true}\" 2>/dev/null || true",
|
|
"timeout": 5000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "^Task$",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$TOOL_RESULT_agent_id\" ] && npx @claude-flow/cli@latest hooks post-task --task-id \"$TOOL_RESULT_agent_id\" --success \"${TOOL_SUCCESS:-true}\" 2>/dev/null || true",
|
|
"timeout": 5000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"UserPromptSubmit": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$PROMPT\" ] && npx @claude-flow/cli@latest hooks route --task \"$PROMPT\" || true",
|
|
"timeout": 5000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SessionStart": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "npx @claude-flow/cli@latest daemon start --quiet 2>/dev/null || true",
|
|
"timeout": 5000,
|
|
"continueOnError": true
|
|
},
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$SESSION_ID\" ] && npx @claude-flow/cli@latest hooks session-restore --session-id \"$SESSION_ID\" 2>/dev/null || true",
|
|
"timeout": 10000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "echo '{\"ok\": true}'",
|
|
"timeout": 1000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Notification": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -n \"$NOTIFICATION_MESSAGE\" ] && npx @claude-flow/cli@latest memory store --namespace notifications --key \"notify-$(date +%s)\" --value \"$NOTIFICATION_MESSAGE\" 2>/dev/null || true",
|
|
"timeout": 3000,
|
|
"continueOnError": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"statusLine": {
|
|
"type": "command",
|
|
"command": "npx @claude-flow/cli@latest hooks statusline 2>/dev/null || node .claude/helpers/statusline.cjs 2>/dev/null || echo \"▊ Claude Flow V3\"",
|
|
"refreshMs": 5000,
|
|
"enabled": true
|
|
},
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(npx claude-flow:*)",
|
|
"Bash(npx @claude-flow/cli:*)",
|
|
"mcp__claude-flow__:*"
|
|
],
|
|
"deny": []
|
|
},
|
|
"claudeFlow": {
|
|
"version": "3.0.0",
|
|
"project": "7sense",
|
|
"description": "Bioacoustics platform - transforming bird calls into navigable geometric space",
|
|
"enabled": true,
|
|
"modelPreferences": {
|
|
"default": "claude-opus-4-5-20251101",
|
|
"routing": "claude-3-5-haiku-20241022"
|
|
},
|
|
"swarm": {
|
|
"topology": "hierarchical-mesh",
|
|
"maxAgents": 12
|
|
},
|
|
"memory": {
|
|
"backend": "hybrid",
|
|
"enableHNSW": true,
|
|
"namespaces": ["patterns", "motifs", "species", "corrections"]
|
|
},
|
|
"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",
|
|
"bioacoustic-clustering",
|
|
"motif-detection"
|
|
],
|
|
"retention": {
|
|
"shortTerm": "24h",
|
|
"longTerm": "30d"
|
|
}
|
|
},
|
|
"adr": {
|
|
"autoGenerate": true,
|
|
"directory": "/docs/adr",
|
|
"template": "madr",
|
|
"total": 9,
|
|
"adrs": [
|
|
"ADR-001: System Architecture",
|
|
"ADR-002: DDD Bounded Contexts",
|
|
"ADR-003: Security Architecture",
|
|
"ADR-004: Performance Optimization",
|
|
"ADR-005: Self-Learning & Hooks",
|
|
"ADR-006: Data Architecture",
|
|
"ADR-007: ML Inference Pipeline",
|
|
"ADR-008: API Design",
|
|
"ADR-009: Visualization & UI"
|
|
]
|
|
},
|
|
"ddd": {
|
|
"trackDomains": true,
|
|
"validateBoundedContexts": true,
|
|
"directory": "/docs/ddd",
|
|
"contexts": [
|
|
"audio-ingestion",
|
|
"embedding",
|
|
"vector-space",
|
|
"learning",
|
|
"analysis",
|
|
"interpretation"
|
|
],
|
|
"cratePrefix": "sevensense"
|
|
},
|
|
"security": {
|
|
"autoScan": true,
|
|
"scanOnEdit": true,
|
|
"cveCheck": true,
|
|
"threatModel": true,
|
|
"dataClassification": ["public", "research", "protected-species"]
|
|
},
|
|
"pipeline": {
|
|
"description": "Audio → Mel Spectrogram → Perch 2.0 → HNSW → GNN → RAB",
|
|
"embedding": {
|
|
"model": "perch-2.0",
|
|
"dimensions": 1536,
|
|
"sampleRate": 32000,
|
|
"windowSize": "5s"
|
|
},
|
|
"vectorSpace": {
|
|
"index": "HNSW",
|
|
"params": {
|
|
"M": 32,
|
|
"efConstruction": 200,
|
|
"efSearch": 128
|
|
}
|
|
},
|
|
"targets": {
|
|
"hnswSpeedup": "150x",
|
|
"queryLatency": "<100ms",
|
|
"ingestion": "10k vectors/sec"
|
|
}
|
|
}
|
|
}
|
|
} |