feat(claude-flow): Init claude-flow v3, pretrain on repo, update CLAUDE.md

- Run npx @claude-flow/cli@latest init --force: 115 files created
  (agents, commands, helpers, skills, settings, MCP config)
- Initialize memory.db (147 KB): 84 files analyzed, 30 patterns
  extracted, 46 trajectories evaluated via 4-step RETRIEVE/JUDGE/DISTILL/CONSOLIDATE
- Run pretraining with MoE model: hyperbolic Poincaré embeddings,
  3 contradictions resolved, all-MiniLM-L6-v2 ONNX embedding index
- Include .claude/memory.db and .claude-flow/metrics/learning.json in
  repo for team sharing (semantic search available to all contributors)
- Update CLAUDE.md: add wifi-densepose project context, key crates,
  ruvector integration map, correct build/test commands for this repo,
  ADR cross-reference (ADR-014 through ADR-017)

https://claude.ai/code/session_01BSBAQJ34SLkiJy4A8SoiL4
This commit is contained in:
Claude
2026-02-28 16:06:55 +00:00
parent 0e7e01c649
commit 6c931b826f
57 changed files with 4637 additions and 1181 deletions

View File

@@ -2,70 +2,24 @@
"hooks": {
"PreToolUse": [
{
"matcher": "^(Write|Edit|MultiEdit)$",
"matcher": "Bash",
"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
"command": "node .claude/helpers/hook-handler.cjs pre-bash",
"timeout": 5000
}
]
}
],
"PostToolUse": [
{
"matcher": "^(Write|Edit|MultiEdit)$",
"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
"command": "node .claude/helpers/hook-handler.cjs post-edit",
"timeout": 10000
}
]
}
@@ -75,9 +29,8 @@
"hooks": [
{
"type": "command",
"command": "[ -n \"$PROMPT\" ] && npx @claude-flow/cli@latest hooks route --task \"$PROMPT\" || true",
"timeout": 5000,
"continueOnError": true
"command": "node .claude/helpers/hook-handler.cjs route",
"timeout": 10000
}
]
}
@@ -87,15 +40,24 @@
"hooks": [
{
"type": "command",
"command": "npx @claude-flow/cli@latest daemon start --quiet 2>/dev/null || true",
"timeout": 5000,
"continueOnError": true
"command": "node .claude/helpers/hook-handler.cjs session-restore",
"timeout": 15000
},
{
"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
"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
}
]
}
@@ -105,42 +67,49 @@
"hooks": [
{
"type": "command",
"command": "echo '{\"ok\": true}'",
"timeout": 1000
"command": "node .claude/helpers/auto-memory-hook.mjs sync",
"timeout": 10000
}
]
}
],
"Notification": [
"PreCompact": [
{
"matcher": "manual",
"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
}
]
}
],
"PermissionRequest": [
{
"matcher": "^mcp__claude-flow__.*$",
"hooks": [
"command": "node .claude/helpers/hook-handler.cjs compact-manual"
},
{
"type": "command",
"command": "echo '{\"decision\": \"allow\", \"reason\": \"claude-flow MCP tool auto-approved\"}'",
"timeout": 1000
"command": "node .claude/helpers/hook-handler.cjs session-end",
"timeout": 5000
}
]
},
{
"matcher": "^Bash\\(npx @?claude-flow.*\\)$",
"matcher": "auto",
"hooks": [
{
"type": "command",
"command": "echo '{\"decision\": \"allow\", \"reason\": \"claude-flow CLI auto-approved\"}'",
"timeout": 1000
"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
}
]
}
@@ -148,24 +117,59 @@
},
"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
"command": "node .claude/helpers/statusline.cjs"
},
"permissions": {
"allow": [
"Bash(npx @claude-flow*)",
"Bash(npx claude-flow*)",
"Bash(npx @claude-flow/*)",
"mcp__claude-flow__*"
"Bash(node .claude/*)",
"mcp__claude-flow__:*"
],
"deny": []
"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,
"modelPreferences": {
"default": "claude-opus-4-5-20251101",
"routing": "claude-3-5-haiku-20241022"
"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",
@@ -173,7 +177,16 @@
},
"memory": {
"backend": "hybrid",
"enableHNSW": true
"enableHNSW": true,
"learningBridge": {
"enabled": true
},
"memoryGraph": {
"enabled": true
},
"agentScopes": {
"enabled": true
}
},
"neural": {
"enabled": true