moflo 4.8.21 → 4.8.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/browser/browser-agent.yaml +182 -182
- package/.claude/agents/core/coder.md +265 -265
- package/.claude/agents/core/planner.md +167 -167
- package/.claude/agents/core/researcher.md +189 -189
- package/.claude/agents/core/reviewer.md +325 -325
- package/.claude/agents/core/tester.md +318 -318
- package/.claude/agents/database-specialist.yaml +21 -21
- package/.claude/agents/dual-mode/codex-coordinator.md +224 -224
- package/.claude/agents/dual-mode/codex-worker.md +211 -211
- package/.claude/agents/dual-mode/dual-orchestrator.md +291 -291
- package/.claude/agents/github/code-review-swarm.md +537 -537
- package/.claude/agents/github/github-modes.md +172 -172
- package/.claude/agents/github/issue-tracker.md +318 -318
- package/.claude/agents/github/multi-repo-swarm.md +552 -552
- package/.claude/agents/github/pr-manager.md +190 -190
- package/.claude/agents/github/project-board-sync.md +508 -508
- package/.claude/agents/github/release-manager.md +366 -366
- package/.claude/agents/github/release-swarm.md +582 -582
- package/.claude/agents/github/repo-architect.md +397 -397
- package/.claude/agents/github/swarm-issue.md +572 -572
- package/.claude/agents/github/swarm-pr.md +427 -427
- package/.claude/agents/github/sync-coordinator.md +451 -451
- package/.claude/agents/github/workflow-automation.md +634 -634
- package/.claude/agents/goal/code-goal-planner.md +445 -445
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -129
- package/.claude/agents/hive-mind/queen-coordinator.md +202 -202
- package/.claude/agents/hive-mind/scout-explorer.md +241 -241
- package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -192
- package/.claude/agents/hive-mind/worker-specialist.md +216 -216
- package/.claude/agents/index.yaml +17 -17
- package/.claude/agents/neural/safla-neural.md +73 -73
- package/.claude/agents/project-coordinator.yaml +15 -15
- package/.claude/agents/python-specialist.yaml +21 -21
- package/.claude/agents/reasoning/goal-planner.md +72 -72
- package/.claude/agents/security-auditor.yaml +20 -20
- package/.claude/agents/swarm/adaptive-coordinator.md +395 -395
- package/.claude/agents/swarm/hierarchical-coordinator.md +326 -326
- package/.claude/agents/swarm/mesh-coordinator.md +391 -391
- package/.claude/agents/templates/migration-plan.md +745 -745
- package/.claude/agents/typescript-specialist.yaml +21 -21
- package/.claude/checkpoints/1767754460.json +8 -8
- package/.claude/commands/agents/agent-spawning.md +28 -28
- package/.claude/commands/github/github-modes.md +146 -146
- package/.claude/commands/github/github-swarm.md +121 -121
- package/.claude/commands/github/issue-tracker.md +291 -291
- package/.claude/commands/github/pr-manager.md +169 -169
- package/.claude/commands/github/release-manager.md +337 -337
- package/.claude/commands/github/repo-architect.md +366 -366
- package/.claude/commands/github/sync-coordinator.md +300 -300
- package/.claude/commands/memory/neural.md +47 -47
- package/.claude/commands/sparc/analyzer.md +51 -51
- package/.claude/commands/sparc/architect.md +53 -53
- package/.claude/commands/sparc/ask.md +97 -97
- package/.claude/commands/sparc/batch-executor.md +54 -54
- package/.claude/commands/sparc/code.md +89 -89
- package/.claude/commands/sparc/coder.md +54 -54
- package/.claude/commands/sparc/debug.md +83 -83
- package/.claude/commands/sparc/debugger.md +54 -54
- package/.claude/commands/sparc/designer.md +53 -53
- package/.claude/commands/sparc/devops.md +109 -109
- package/.claude/commands/sparc/docs-writer.md +80 -80
- package/.claude/commands/sparc/documenter.md +54 -54
- package/.claude/commands/sparc/innovator.md +54 -54
- package/.claude/commands/sparc/integration.md +83 -83
- package/.claude/commands/sparc/mcp.md +117 -117
- package/.claude/commands/sparc/memory-manager.md +54 -54
- package/.claude/commands/sparc/optimizer.md +54 -54
- package/.claude/commands/sparc/orchestrator.md +131 -131
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
- package/.claude/commands/sparc/researcher.md +54 -54
- package/.claude/commands/sparc/reviewer.md +54 -54
- package/.claude/commands/sparc/security-review.md +80 -80
- package/.claude/commands/sparc/sparc-modes.md +174 -174
- package/.claude/commands/sparc/sparc.md +111 -111
- package/.claude/commands/sparc/spec-pseudocode.md +80 -80
- package/.claude/commands/sparc/supabase-admin.md +348 -348
- package/.claude/commands/sparc/swarm-coordinator.md +54 -54
- package/.claude/commands/sparc/tdd.md +54 -54
- package/.claude/commands/sparc/tester.md +54 -54
- package/.claude/commands/sparc/tutorial.md +79 -79
- package/.claude/commands/sparc/workflow-manager.md +54 -54
- package/.claude/commands/sparc.md +166 -166
- package/.claude/commands/swarm/analysis.md +95 -95
- package/.claude/commands/swarm/development.md +96 -96
- package/.claude/commands/swarm/examples.md +168 -168
- package/.claude/commands/swarm/maintenance.md +102 -102
- package/.claude/commands/swarm/optimization.md +117 -117
- package/.claude/commands/swarm/research.md +136 -136
- package/.claude/commands/swarm/testing.md +131 -131
- package/.claude/commands/workflows/development.md +77 -77
- package/.claude/commands/workflows/research.md +62 -62
- package/.claude/guidance/moflo-bootstrap.md +126 -126
- package/.claude/guidance/shipped/agent-bootstrap.md +126 -126
- package/.claude/guidance/shipped/guidance-memory-strategy.md +262 -262
- package/.claude/guidance/shipped/memory-strategy.md +204 -204
- package/.claude/guidance/shipped/moflo.md +668 -653
- package/.claude/guidance/shipped/task-swarm-integration.md +441 -441
- package/.claude/helpers/intelligence.cjs +207 -207
- package/.claude/helpers/statusline.cjs +851 -851
- package/.claude/settings.local.json +18 -0
- package/.claude/skills/fl/SKILL.md +583 -583
- package/.claude/skills/flo/SKILL.md +583 -583
- package/.claude/skills/github-code-review/SKILL.md +1140 -1140
- package/.claude/skills/github-multi-repo/SKILL.md +874 -874
- package/.claude/skills/github-project-management/SKILL.md +1277 -1277
- package/.claude/skills/github-release-management/SKILL.md +1081 -1081
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
- package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
- package/.claude/skills/performance-analysis/SKILL.md +563 -563
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
- package/.claude/skills/swarm-advanced/SKILL.md +973 -973
- package/.claude/workflow-state.json +4 -4
- package/LICENSE +21 -21
- package/README.md +685 -685
- package/bin/cli.js +0 -0
- package/bin/gate-hook.mjs +50 -50
- package/bin/gate.cjs +138 -138
- package/bin/generate-code-map.mjs +775 -775
- package/bin/hook-handler.cjs +83 -83
- package/bin/hooks.mjs +656 -656
- package/bin/index-guidance.mjs +892 -892
- package/bin/index-tests.mjs +709 -709
- package/bin/lib/process-manager.mjs +243 -243
- package/bin/lib/registry-cleanup.cjs +41 -41
- package/bin/prompt-hook.mjs +72 -72
- package/bin/semantic-search.mjs +472 -472
- package/bin/session-start-launcher.mjs +238 -238
- package/bin/setup-project.mjs +250 -250
- package/package.json +123 -123
- package/src/@claude-flow/cli/README.md +452 -452
- package/src/@claude-flow/cli/bin/cli.js +180 -180
- package/src/@claude-flow/cli/bin/preinstall.cjs +2 -2
- package/src/@claude-flow/cli/dist/src/commands/completions.js +409 -409
- package/src/@claude-flow/cli/dist/src/commands/doctor.js +5 -1
- package/src/@claude-flow/cli/dist/src/commands/embeddings.js +25 -25
- package/src/@claude-flow/cli/dist/src/commands/github.js +61 -61
- package/src/@claude-flow/cli/dist/src/commands/hive-mind.js +90 -90
- package/src/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
- package/src/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
- package/src/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
- package/src/@claude-flow/cli/dist/src/config/moflo-config.d.ts +3 -0
- package/src/@claude-flow/cli/dist/src/config/moflo-config.js +101 -91
- package/src/@claude-flow/cli/dist/src/index.d.ts +5 -0
- package/src/@claude-flow/cli/dist/src/index.js +44 -0
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +29 -29
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.js +43 -43
- package/src/@claude-flow/cli/dist/src/init/executor.js +453 -453
- package/src/@claude-flow/cli/dist/src/init/helpers-generator.js +482 -482
- package/src/@claude-flow/cli/dist/src/init/moflo-init.d.ts +30 -30
- package/src/@claude-flow/cli/dist/src/init/moflo-init.js +140 -140
- package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +876 -876
- package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +371 -371
- package/src/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.js +584 -0
- package/src/@claude-flow/cli/dist/src/services/daemon-lock.d.ts +14 -0
- package/src/@claude-flow/cli/dist/src/services/daemon-lock.js +1 -1
- package/src/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
- package/src/@claude-flow/cli/package.json +1 -1
- package/src/@claude-flow/guidance/README.md +1195 -1195
- package/src/@claude-flow/guidance/package.json +198 -198
- package/src/@claude-flow/memory/README.md +587 -587
- package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +4 -7
- package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +2 -0
- package/src/@claude-flow/memory/dist/agentdb-backend.js +28 -26
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +36 -39
- package/src/@claude-flow/memory/dist/benchmark.test.js +1 -1
- package/src/@claude-flow/memory/dist/controller-registry.test.js +43 -0
- package/src/@claude-flow/memory/dist/database-provider.d.ts +2 -2
- package/src/@claude-flow/memory/dist/database-provider.js +6 -3
- package/src/@claude-flow/memory/dist/database-provider.test.js +1 -3
- package/src/@claude-flow/memory/dist/hybrid-backend.d.ts +245 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.js +569 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.test.d.ts +8 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.test.js +320 -0
- package/src/@claude-flow/memory/dist/index.d.ts +3 -0
- package/src/@claude-flow/memory/dist/index.js +3 -0
- package/src/@claude-flow/memory/dist/sqlite-backend.d.ts +121 -0
- package/src/@claude-flow/memory/dist/sqlite-backend.js +572 -0
- package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +4 -3
- package/src/@claude-flow/memory/dist/sqljs-backend.js +31 -30
- package/src/@claude-flow/memory/package.json +44 -44
- package/src/@claude-flow/shared/README.md +323 -323
- package/src/@claude-flow/shared/dist/core/config/defaults.js +1 -1
- package/src/@claude-flow/shared/dist/core/config/loader.js +1 -1
- package/src/@claude-flow/shared/dist/core/config/schema.js +1 -1
- package/src/@claude-flow/shared/dist/events/event-store.js +34 -50
- package/src/@claude-flow/shared/dist/events/event-store.test.js +4 -8
- package/src/@claude-flow/shared/dist/hooks/executor.js +4 -7
- package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +1 -1
- package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +3 -3
- package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +6 -6
- package/src/@claude-flow/shared/dist/utils/secure-logger.js +1 -1
- package/src/README.md +493 -493
- package/src/@claude-flow/guidance/dist/adversarial.d.ts +0 -284
- package/src/@claude-flow/guidance/dist/adversarial.js +0 -572
- package/src/@claude-flow/guidance/dist/analyzer.d.ts +0 -530
- package/src/@claude-flow/guidance/dist/analyzer.js +0 -2518
- package/src/@claude-flow/guidance/dist/artifacts.d.ts +0 -283
- package/src/@claude-flow/guidance/dist/artifacts.js +0 -356
- package/src/@claude-flow/guidance/dist/authority.d.ts +0 -290
- package/src/@claude-flow/guidance/dist/authority.js +0 -558
- package/src/@claude-flow/guidance/dist/capabilities.d.ts +0 -209
- package/src/@claude-flow/guidance/dist/capabilities.js +0 -485
- package/src/@claude-flow/guidance/dist/coherence.d.ts +0 -233
- package/src/@claude-flow/guidance/dist/coherence.js +0 -372
- package/src/@claude-flow/guidance/dist/compiler.d.ts +0 -87
- package/src/@claude-flow/guidance/dist/compiler.js +0 -419
- package/src/@claude-flow/guidance/dist/conformance-kit.d.ts +0 -225
- package/src/@claude-flow/guidance/dist/conformance-kit.js +0 -629
- package/src/@claude-flow/guidance/dist/continue-gate.d.ts +0 -214
- package/src/@claude-flow/guidance/dist/continue-gate.js +0 -353
- package/src/@claude-flow/guidance/dist/crypto-utils.d.ts +0 -17
- package/src/@claude-flow/guidance/dist/crypto-utils.js +0 -24
- package/src/@claude-flow/guidance/dist/evolution.d.ts +0 -282
- package/src/@claude-flow/guidance/dist/evolution.js +0 -500
- package/src/@claude-flow/guidance/dist/gates.d.ts +0 -79
- package/src/@claude-flow/guidance/dist/gates.js +0 -302
- package/src/@claude-flow/guidance/dist/gateway.d.ts +0 -206
- package/src/@claude-flow/guidance/dist/gateway.js +0 -452
- package/src/@claude-flow/guidance/dist/generators.d.ts +0 -153
- package/src/@claude-flow/guidance/dist/generators.js +0 -682
- package/src/@claude-flow/guidance/dist/headless.d.ts +0 -177
- package/src/@claude-flow/guidance/dist/headless.js +0 -342
- package/src/@claude-flow/guidance/dist/hooks.d.ts +0 -109
- package/src/@claude-flow/guidance/dist/hooks.js +0 -347
- package/src/@claude-flow/guidance/dist/index.d.ts +0 -205
- package/src/@claude-flow/guidance/dist/index.js +0 -321
- package/src/@claude-flow/guidance/dist/ledger.d.ts +0 -162
- package/src/@claude-flow/guidance/dist/ledger.js +0 -375
- package/src/@claude-flow/guidance/dist/manifest-validator.d.ts +0 -289
- package/src/@claude-flow/guidance/dist/manifest-validator.js +0 -838
- package/src/@claude-flow/guidance/dist/memory-gate.d.ts +0 -222
- package/src/@claude-flow/guidance/dist/memory-gate.js +0 -382
- package/src/@claude-flow/guidance/dist/meta-governance.d.ts +0 -265
- package/src/@claude-flow/guidance/dist/meta-governance.js +0 -348
- package/src/@claude-flow/guidance/dist/optimizer.d.ts +0 -104
- package/src/@claude-flow/guidance/dist/optimizer.js +0 -329
- package/src/@claude-flow/guidance/dist/persistence.d.ts +0 -189
- package/src/@claude-flow/guidance/dist/persistence.js +0 -464
- package/src/@claude-flow/guidance/dist/proof.d.ts +0 -185
- package/src/@claude-flow/guidance/dist/proof.js +0 -238
- package/src/@claude-flow/guidance/dist/retriever.d.ts +0 -116
- package/src/@claude-flow/guidance/dist/retriever.js +0 -394
- package/src/@claude-flow/guidance/dist/ruvbot-integration.d.ts +0 -370
- package/src/@claude-flow/guidance/dist/ruvbot-integration.js +0 -738
- package/src/@claude-flow/guidance/dist/temporal.d.ts +0 -426
- package/src/@claude-flow/guidance/dist/temporal.js +0 -658
- package/src/@claude-flow/guidance/dist/trust.d.ts +0 -283
- package/src/@claude-flow/guidance/dist/trust.js +0 -473
- package/src/@claude-flow/guidance/dist/truth-anchors.d.ts +0 -276
- package/src/@claude-flow/guidance/dist/truth-anchors.js +0 -488
- package/src/@claude-flow/guidance/dist/types.d.ts +0 -378
- package/src/@claude-flow/guidance/dist/types.js +0 -10
- package/src/@claude-flow/guidance/dist/uncertainty.d.ts +0 -372
- package/src/@claude-flow/guidance/dist/uncertainty.js +0 -619
- package/src/@claude-flow/guidance/dist/wasm-kernel.d.ts +0 -48
- package/src/@claude-flow/guidance/dist/wasm-kernel.js +0 -158
|
@@ -69,6 +69,9 @@ const DEFAULT_CONFIG = {
|
|
|
69
69
|
circuit_breaker: true,
|
|
70
70
|
agent_overrides: {},
|
|
71
71
|
},
|
|
72
|
+
daemon: {
|
|
73
|
+
auto_start: true,
|
|
74
|
+
},
|
|
72
75
|
auto_update: {
|
|
73
76
|
enabled: true,
|
|
74
77
|
scripts: true,
|
|
@@ -164,6 +167,9 @@ function mergeConfig(raw, root) {
|
|
|
164
167
|
circuit_breaker: raw.model_routing?.circuit_breaker ?? raw.modelRouting?.circuitBreaker ?? DEFAULT_CONFIG.model_routing.circuit_breaker,
|
|
165
168
|
agent_overrides: raw.model_routing?.agent_overrides ?? raw.modelRouting?.agentOverrides ?? DEFAULT_CONFIG.model_routing.agent_overrides,
|
|
166
169
|
},
|
|
170
|
+
daemon: {
|
|
171
|
+
auto_start: raw.daemon?.auto_start ?? raw.daemon?.autoStart ?? DEFAULT_CONFIG.daemon.auto_start,
|
|
172
|
+
},
|
|
167
173
|
auto_update: {
|
|
168
174
|
enabled: raw.auto_update?.enabled ?? raw.autoUpdate?.enabled ?? DEFAULT_CONFIG.auto_update.enabled,
|
|
169
175
|
scripts: raw.auto_update?.scripts ?? raw.autoUpdate?.scripts ?? DEFAULT_CONFIG.auto_update.scripts,
|
|
@@ -255,97 +261,101 @@ export function generateMofloConfig(projectRoot) {
|
|
|
255
261
|
}
|
|
256
262
|
}
|
|
257
263
|
const detectedExtensions = extensions.size > 0 ? [...extensions] : ['.ts', '.tsx', '.js', '.jsx'];
|
|
258
|
-
const config = `# MoFlo — Project Configuration
|
|
259
|
-
# Generated by: moflo init
|
|
260
|
-
# Docs: https://github.com/eric-cielo/moflo
|
|
261
|
-
|
|
262
|
-
project:
|
|
263
|
-
name: "${projectName}"
|
|
264
|
-
|
|
265
|
-
# Guidance/knowledge docs to index for semantic search
|
|
266
|
-
guidance:
|
|
267
|
-
directories:
|
|
268
|
-
${guidanceDirs.map(d => ` - ${d}`).join('\n')}
|
|
269
|
-
namespace: guidance
|
|
270
|
-
|
|
271
|
-
# Source directories for code navigation map
|
|
272
|
-
code_map:
|
|
273
|
-
directories:
|
|
274
|
-
${srcDirs.map(d => ` - ${d}`).join('\n')}
|
|
275
|
-
extensions: [${detectedExtensions.map(e => `"${e}"`).join(', ')}]
|
|
276
|
-
exclude: [node_modules, dist, .next, coverage, build, __pycache__, target, .git]
|
|
277
|
-
namespace: code-map
|
|
278
|
-
|
|
279
|
-
# Workflow gates (enforced via Claude Code hooks)
|
|
280
|
-
gates:
|
|
281
|
-
memory_first: true # Search memory before Glob/Grep
|
|
282
|
-
task_create_first: true # TaskCreate before Agent tool
|
|
283
|
-
context_tracking: true # Track context bracket (FRESH/MODERATE/DEPLETED/CRITICAL)
|
|
284
|
-
|
|
285
|
-
# Auto-index on session start
|
|
286
|
-
auto_index:
|
|
287
|
-
guidance: true
|
|
288
|
-
code_map: true
|
|
289
|
-
|
|
290
|
-
# Memory backend
|
|
291
|
-
memory:
|
|
292
|
-
backend: sql.js # sql.js (WASM, no native deps) | agentdb | json
|
|
293
|
-
embedding_model: Xenova/all-MiniLM-L6-v2
|
|
294
|
-
namespace: default
|
|
295
|
-
|
|
296
|
-
# Hook toggles (all on by default — disable to slim down)
|
|
297
|
-
hooks:
|
|
298
|
-
pre_edit: true # Track file edits for learning
|
|
299
|
-
post_edit: true # Record edit outcomes, train neural patterns
|
|
300
|
-
pre_task: true # Get agent routing before task spawn
|
|
301
|
-
post_task: true # Record task results for learning
|
|
302
|
-
gate: true # Workflow gate enforcement (memory-first, task-create-first)
|
|
303
|
-
route: true # Intelligent task routing on each prompt
|
|
304
|
-
stop_hook: true # Session-end persistence and metric export
|
|
305
|
-
session_restore: true # Restore session state on start
|
|
306
|
-
notification: true # Hook into Claude Code notifications
|
|
307
|
-
|
|
308
|
-
#
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
#
|
|
316
|
-
#
|
|
317
|
-
#
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
#
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
#
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
#
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
264
|
+
const config = `# MoFlo — Project Configuration
|
|
265
|
+
# Generated by: moflo init
|
|
266
|
+
# Docs: https://github.com/eric-cielo/moflo
|
|
267
|
+
|
|
268
|
+
project:
|
|
269
|
+
name: "${projectName}"
|
|
270
|
+
|
|
271
|
+
# Guidance/knowledge docs to index for semantic search
|
|
272
|
+
guidance:
|
|
273
|
+
directories:
|
|
274
|
+
${guidanceDirs.map(d => ` - ${d}`).join('\n')}
|
|
275
|
+
namespace: guidance
|
|
276
|
+
|
|
277
|
+
# Source directories for code navigation map
|
|
278
|
+
code_map:
|
|
279
|
+
directories:
|
|
280
|
+
${srcDirs.map(d => ` - ${d}`).join('\n')}
|
|
281
|
+
extensions: [${detectedExtensions.map(e => `"${e}"`).join(', ')}]
|
|
282
|
+
exclude: [node_modules, dist, .next, coverage, build, __pycache__, target, .git]
|
|
283
|
+
namespace: code-map
|
|
284
|
+
|
|
285
|
+
# Workflow gates (enforced via Claude Code hooks)
|
|
286
|
+
gates:
|
|
287
|
+
memory_first: true # Search memory before Glob/Grep
|
|
288
|
+
task_create_first: true # TaskCreate before Agent tool
|
|
289
|
+
context_tracking: true # Track context bracket (FRESH/MODERATE/DEPLETED/CRITICAL)
|
|
290
|
+
|
|
291
|
+
# Auto-index on session start
|
|
292
|
+
auto_index:
|
|
293
|
+
guidance: true
|
|
294
|
+
code_map: true
|
|
295
|
+
|
|
296
|
+
# Memory backend
|
|
297
|
+
memory:
|
|
298
|
+
backend: sql.js # sql.js (WASM, no native deps) | agentdb | json
|
|
299
|
+
embedding_model: Xenova/all-MiniLM-L6-v2
|
|
300
|
+
namespace: default
|
|
301
|
+
|
|
302
|
+
# Hook toggles (all on by default — disable to slim down)
|
|
303
|
+
hooks:
|
|
304
|
+
pre_edit: true # Track file edits for learning
|
|
305
|
+
post_edit: true # Record edit outcomes, train neural patterns
|
|
306
|
+
pre_task: true # Get agent routing before task spawn
|
|
307
|
+
post_task: true # Record task results for learning
|
|
308
|
+
gate: true # Workflow gate enforcement (memory-first, task-create-first)
|
|
309
|
+
route: true # Intelligent task routing on each prompt
|
|
310
|
+
stop_hook: true # Session-end persistence and metric export
|
|
311
|
+
session_restore: true # Restore session state on start
|
|
312
|
+
notification: true # Hook into Claude Code notifications
|
|
313
|
+
|
|
314
|
+
# Worker daemon (background indexing, optimization, test gap detection)
|
|
315
|
+
daemon:
|
|
316
|
+
auto_start: true # Start daemon automatically on CLI/MCP init (set false to disable)
|
|
317
|
+
|
|
318
|
+
# Model preferences (haiku, sonnet, opus)
|
|
319
|
+
models:
|
|
320
|
+
default: opus # Model for general tasks
|
|
321
|
+
research: sonnet # Model for research/exploration agents
|
|
322
|
+
review: opus # Model for code review agents
|
|
323
|
+
test: sonnet # Model for test-writing agents
|
|
324
|
+
|
|
325
|
+
# Intelligent model routing (auto-selects haiku/sonnet/opus per task)
|
|
326
|
+
# When enabled, overrides the static model preferences above
|
|
327
|
+
# by analyzing task complexity and routing to the cheapest capable model.
|
|
328
|
+
model_routing:
|
|
329
|
+
enabled: false # Set to true to enable dynamic routing
|
|
330
|
+
confidence_threshold: 0.85 # Min confidence before escalating to a more capable model
|
|
331
|
+
cost_optimization: true # Prefer cheaper models when confidence is high
|
|
332
|
+
circuit_breaker: true # Penalize models that fail repeatedly
|
|
333
|
+
# agent_overrides:
|
|
334
|
+
# security-architect: opus # Always use opus for security
|
|
335
|
+
# researcher: sonnet # Pin research to sonnet
|
|
336
|
+
|
|
337
|
+
# Auto-update on session start (syncs scripts and helpers when moflo version changes)
|
|
338
|
+
auto_update:
|
|
339
|
+
enabled: true # Master toggle for version-change auto-sync
|
|
340
|
+
scripts: true # Sync .claude/scripts/ from moflo bin/
|
|
341
|
+
helpers: true # Sync .claude/helpers/ from moflo source
|
|
342
|
+
|
|
343
|
+
# Status line items (show/hide individual sections)
|
|
344
|
+
status_line:
|
|
345
|
+
enabled: true
|
|
346
|
+
branding: "Moflo V4" # Text shown in status bar
|
|
347
|
+
show_git: true # Git branch, changes, ahead/behind
|
|
348
|
+
show_model: true # Current model name
|
|
349
|
+
show_session: true # Session duration
|
|
350
|
+
show_intelligence: true # Intelligence % indicator
|
|
351
|
+
show_swarm: true # Active swarm agents count
|
|
352
|
+
show_hooks: true # Enabled hooks count
|
|
353
|
+
show_mcp: true # MCP server count
|
|
354
|
+
show_security: true # CVE/security status (dashboard only)
|
|
355
|
+
show_adrs: true # ADR compliance (dashboard only)
|
|
356
|
+
show_agentdb: true # AgentDB vectors/size (dashboard only)
|
|
357
|
+
show_tests: true # Test file count (dashboard only)
|
|
358
|
+
mode: single-line # single-line (default) or dashboard (multi-line)
|
|
349
359
|
`;
|
|
350
360
|
return config;
|
|
351
361
|
}
|
|
@@ -43,6 +43,11 @@ export declare class CLI {
|
|
|
43
43
|
* Shows notification if updates are available
|
|
44
44
|
*/
|
|
45
45
|
private checkForUpdatesOnStartup;
|
|
46
|
+
/**
|
|
47
|
+
* Auto-start daemon if moflo.yaml enables it and no daemon is running.
|
|
48
|
+
* Non-blocking — fires and forgets. Errors are silently swallowed.
|
|
49
|
+
*/
|
|
50
|
+
private maybeAutoStartDaemon;
|
|
46
51
|
/**
|
|
47
52
|
* Load configuration file
|
|
48
53
|
*/
|
|
@@ -12,6 +12,8 @@ import { output } from './output.js';
|
|
|
12
12
|
import { commands, commandsByCategory, getCommand, getCommandAsync, getCommandNames, hasCommand } from './commands/index.js';
|
|
13
13
|
import { suggestCommand } from './suggest.js';
|
|
14
14
|
import { runStartupUpdateCheck } from './update/index.js';
|
|
15
|
+
import { loadMofloConfig } from './config/moflo-config.js';
|
|
16
|
+
import { getDaemonLockHolder } from './services/daemon-lock.js';
|
|
15
17
|
// Read version from package.json at runtime
|
|
16
18
|
function getPackageVersion() {
|
|
17
19
|
try {
|
|
@@ -84,6 +86,11 @@ export class CLI {
|
|
|
84
86
|
if (!flags.noUpdate && commandPath[0] !== 'update') {
|
|
85
87
|
this.checkForUpdatesOnStartup().catch(() => { });
|
|
86
88
|
}
|
|
89
|
+
// Auto-start daemon if configured and not already running (non-blocking).
|
|
90
|
+
// Skip if user is explicitly running a daemon command to avoid interference.
|
|
91
|
+
if (commandPath[0] !== 'daemon') {
|
|
92
|
+
this.maybeAutoStartDaemon().catch(() => { });
|
|
93
|
+
}
|
|
87
94
|
// Handle lazy-loaded commands that weren't recognized by the parser
|
|
88
95
|
// If commandPath is empty but positional has a command name, check if it's lazy-loadable
|
|
89
96
|
if (commandPath.length === 0 && positional.length > 0 && !positional[0].startsWith('-')) {
|
|
@@ -390,6 +397,43 @@ export class CLI {
|
|
|
390
397
|
// Silently fail - don't interrupt CLI usage
|
|
391
398
|
}
|
|
392
399
|
}
|
|
400
|
+
/**
|
|
401
|
+
* Auto-start daemon if moflo.yaml enables it and no daemon is running.
|
|
402
|
+
* Non-blocking — fires and forgets. Errors are silently swallowed.
|
|
403
|
+
*/
|
|
404
|
+
async maybeAutoStartDaemon() {
|
|
405
|
+
const config = loadMofloConfig(process.cwd());
|
|
406
|
+
if (!config.daemon.auto_start)
|
|
407
|
+
return;
|
|
408
|
+
// Already running?
|
|
409
|
+
const holder = getDaemonLockHolder(process.cwd());
|
|
410
|
+
if (holder)
|
|
411
|
+
return;
|
|
412
|
+
// Dynamically import to avoid circular deps and keep CLI startup fast
|
|
413
|
+
const { spawn } = await import('child_process');
|
|
414
|
+
const { fileURLToPath } = await import('url');
|
|
415
|
+
const { dirname, join, resolve } = await import('path');
|
|
416
|
+
const { existsSync, openSync, mkdirSync } = await import('fs');
|
|
417
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
418
|
+
const __dirname = dirname(__filename);
|
|
419
|
+
const cliPath = resolve(join(__dirname, '..', '..', 'bin', 'cli.js'));
|
|
420
|
+
if (!existsSync(cliPath))
|
|
421
|
+
return;
|
|
422
|
+
const projectRoot = process.cwd();
|
|
423
|
+
const stateDir = join(projectRoot, '.claude-flow');
|
|
424
|
+
if (!existsSync(stateDir))
|
|
425
|
+
mkdirSync(stateDir, { recursive: true });
|
|
426
|
+
const logFile = join(stateDir, 'daemon.log');
|
|
427
|
+
const isWin = process.platform === 'win32';
|
|
428
|
+
const child = spawn(process.execPath, [cliPath, 'daemon', 'start', '--foreground', '--quiet'], {
|
|
429
|
+
cwd: projectRoot,
|
|
430
|
+
detached: !isWin,
|
|
431
|
+
stdio: ['ignore', openSync(logFile, 'a'), openSync(logFile, 'a')],
|
|
432
|
+
env: { ...process.env, CLAUDE_FLOW_DAEMON: '1' },
|
|
433
|
+
...(isWin ? { shell: true, windowsHide: true } : {}),
|
|
434
|
+
});
|
|
435
|
+
child.unref();
|
|
436
|
+
}
|
|
393
437
|
/**
|
|
394
438
|
* Load configuration file
|
|
395
439
|
*/
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLAUDE.md Generator
|
|
3
|
-
*
|
|
4
|
-
* Generates ONLY the MoFlo section to inject into a project's CLAUDE.md.
|
|
5
|
-
* This must be minimal — just enough for Claude to work with moflo.
|
|
6
|
-
* All detailed docs live in .claude/guidance/shipped/moflo.md (copied at install).
|
|
7
|
-
*
|
|
8
|
-
* Principle: we are guests in the user's CLAUDE.md. Keep it small.
|
|
9
|
-
*/
|
|
10
|
-
import type { InitOptions, ClaudeMdTemplate } from './types.js';
|
|
11
|
-
declare const MARKER_START = "<!-- MOFLO:INJECTED:START -->";
|
|
12
|
-
declare const MARKER_END = "<!-- MOFLO:INJECTED:END -->";
|
|
13
|
-
export { MARKER_START, MARKER_END };
|
|
14
|
-
/**
|
|
15
|
-
* Generate the MoFlo section to inject into CLAUDE.md.
|
|
16
|
-
* Template parameter is accepted for backward compatibility but ignored —
|
|
17
|
-
* all templates now produce the same minimal injection.
|
|
18
|
-
*/
|
|
19
|
-
export declare function generateClaudeMd(_options: InitOptions, _template?: ClaudeMdTemplate): string;
|
|
20
|
-
/**
|
|
21
|
-
* Generate minimal CLAUDE.md content (backward-compatible alias).
|
|
22
|
-
*/
|
|
23
|
-
export declare function generateMinimalClaudeMd(options: InitOptions): string;
|
|
24
|
-
/** Available template names for CLI wizard (kept for backward compat, all produce same output) */
|
|
25
|
-
export declare const CLAUDE_MD_TEMPLATES: Array<{
|
|
26
|
-
name: ClaudeMdTemplate;
|
|
27
|
-
description: string;
|
|
28
|
-
}>;
|
|
29
|
-
export default generateClaudeMd;
|
|
1
|
+
/**
|
|
2
|
+
* CLAUDE.md Generator
|
|
3
|
+
*
|
|
4
|
+
* Generates ONLY the MoFlo section to inject into a project's CLAUDE.md.
|
|
5
|
+
* This must be minimal — just enough for Claude to work with moflo.
|
|
6
|
+
* All detailed docs live in .claude/guidance/shipped/moflo.md (copied at install).
|
|
7
|
+
*
|
|
8
|
+
* Principle: we are guests in the user's CLAUDE.md. Keep it small.
|
|
9
|
+
*/
|
|
10
|
+
import type { InitOptions, ClaudeMdTemplate } from './types.js';
|
|
11
|
+
declare const MARKER_START = "<!-- MOFLO:INJECTED:START -->";
|
|
12
|
+
declare const MARKER_END = "<!-- MOFLO:INJECTED:END -->";
|
|
13
|
+
export { MARKER_START, MARKER_END };
|
|
14
|
+
/**
|
|
15
|
+
* Generate the MoFlo section to inject into CLAUDE.md.
|
|
16
|
+
* Template parameter is accepted for backward compatibility but ignored —
|
|
17
|
+
* all templates now produce the same minimal injection.
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateClaudeMd(_options: InitOptions, _template?: ClaudeMdTemplate): string;
|
|
20
|
+
/**
|
|
21
|
+
* Generate minimal CLAUDE.md content (backward-compatible alias).
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateMinimalClaudeMd(options: InitOptions): string;
|
|
24
|
+
/** Available template names for CLI wizard (kept for backward compat, all produce same output) */
|
|
25
|
+
export declare const CLAUDE_MD_TEMPLATES: Array<{
|
|
26
|
+
name: ClaudeMdTemplate;
|
|
27
|
+
description: string;
|
|
28
|
+
}>;
|
|
29
|
+
export default generateClaudeMd;
|
|
30
30
|
//# sourceMappingURL=claudemd-generator.d.ts.map
|
|
@@ -14,49 +14,49 @@ const MARKER_END = '<!-- MOFLO:INJECTED:END -->';
|
|
|
14
14
|
* ~40 lines. Points to moflo.md for everything else.
|
|
15
15
|
*/
|
|
16
16
|
function mofloSection() {
|
|
17
|
-
return `${MARKER_START}
|
|
18
|
-
## MoFlo — AI Agent Orchestration
|
|
19
|
-
|
|
20
|
-
This project uses [MoFlo](https://github.com/eric-cielo/moflo) for AI-assisted development workflows.
|
|
21
|
-
|
|
22
|
-
### FIRST ACTION ON EVERY PROMPT: Search Memory
|
|
23
|
-
|
|
24
|
-
Your first tool call for every new user prompt MUST be a memory search. Do this BEFORE Glob, Grep, Read, or any file exploration.
|
|
25
|
-
|
|
26
|
-
\`\`\`
|
|
27
|
-
mcp__moflo__memory_search — query: "<task description>", namespace: "guidance" or "patterns" or "code-map"
|
|
28
|
-
\`\`\`
|
|
29
|
-
|
|
30
|
-
Search \`guidance\` and \`patterns\` namespaces on every prompt. Search \`code-map\` when navigating the codebase.
|
|
31
|
-
When the user asks you to remember something: \`mcp__moflo__memory_store\` with namespace \`knowledge\`.
|
|
32
|
-
|
|
33
|
-
### Workflow Gates (enforced automatically)
|
|
34
|
-
|
|
35
|
-
- **Memory-first**: Must search memory before Glob/Grep/Read
|
|
36
|
-
- **TaskCreate-first**: Must call TaskCreate before spawning Agent tool
|
|
37
|
-
|
|
38
|
-
### MCP Tools (preferred over CLI)
|
|
39
|
-
|
|
40
|
-
| Tool | Purpose |
|
|
41
|
-
|------|---------|
|
|
42
|
-
| \`mcp__moflo__memory_search\` | Semantic search across indexed knowledge |
|
|
43
|
-
| \`mcp__moflo__memory_store\` | Store patterns and decisions |
|
|
44
|
-
| \`mcp__moflo__hooks_route\` | Route task to optimal agent type |
|
|
45
|
-
| \`mcp__moflo__hooks_pre-task\` | Record task start |
|
|
46
|
-
| \`mcp__moflo__hooks_post-task\` | Record task completion for learning |
|
|
47
|
-
|
|
48
|
-
### CLI Fallback
|
|
49
|
-
|
|
50
|
-
\`\`\`bash
|
|
51
|
-
npx flo-search "[query]" --namespace guidance # Semantic search
|
|
52
|
-
npx flo doctor --fix # Health check
|
|
53
|
-
\`\`\`
|
|
54
|
-
|
|
55
|
-
### Full Reference
|
|
56
|
-
|
|
57
|
-
- **Agent bootstrap protocol:** \`.claude/guidance/shipped/agent-bootstrap.md\`
|
|
58
|
-
- **Task + swarm coordination:** \`.claude/guidance/shipped/task-swarm-integration.md\`
|
|
59
|
-
- **CLI, hooks, swarm, memory, moflo.yaml:** \`.claude/guidance/shipped/moflo.md\`
|
|
17
|
+
return `${MARKER_START}
|
|
18
|
+
## MoFlo — AI Agent Orchestration
|
|
19
|
+
|
|
20
|
+
This project uses [MoFlo](https://github.com/eric-cielo/moflo) for AI-assisted development workflows.
|
|
21
|
+
|
|
22
|
+
### FIRST ACTION ON EVERY PROMPT: Search Memory
|
|
23
|
+
|
|
24
|
+
Your first tool call for every new user prompt MUST be a memory search. Do this BEFORE Glob, Grep, Read, or any file exploration.
|
|
25
|
+
|
|
26
|
+
\`\`\`
|
|
27
|
+
mcp__moflo__memory_search — query: "<task description>", namespace: "guidance" or "patterns" or "code-map"
|
|
28
|
+
\`\`\`
|
|
29
|
+
|
|
30
|
+
Search \`guidance\` and \`patterns\` namespaces on every prompt. Search \`code-map\` when navigating the codebase.
|
|
31
|
+
When the user asks you to remember something: \`mcp__moflo__memory_store\` with namespace \`knowledge\`.
|
|
32
|
+
|
|
33
|
+
### Workflow Gates (enforced automatically)
|
|
34
|
+
|
|
35
|
+
- **Memory-first**: Must search memory before Glob/Grep/Read
|
|
36
|
+
- **TaskCreate-first**: Must call TaskCreate before spawning Agent tool
|
|
37
|
+
|
|
38
|
+
### MCP Tools (preferred over CLI)
|
|
39
|
+
|
|
40
|
+
| Tool | Purpose |
|
|
41
|
+
|------|---------|
|
|
42
|
+
| \`mcp__moflo__memory_search\` | Semantic search across indexed knowledge |
|
|
43
|
+
| \`mcp__moflo__memory_store\` | Store patterns and decisions |
|
|
44
|
+
| \`mcp__moflo__hooks_route\` | Route task to optimal agent type |
|
|
45
|
+
| \`mcp__moflo__hooks_pre-task\` | Record task start |
|
|
46
|
+
| \`mcp__moflo__hooks_post-task\` | Record task completion for learning |
|
|
47
|
+
|
|
48
|
+
### CLI Fallback
|
|
49
|
+
|
|
50
|
+
\`\`\`bash
|
|
51
|
+
npx flo-search "[query]" --namespace guidance # Semantic search
|
|
52
|
+
npx flo doctor --fix # Health check
|
|
53
|
+
\`\`\`
|
|
54
|
+
|
|
55
|
+
### Full Reference
|
|
56
|
+
|
|
57
|
+
- **Agent bootstrap protocol:** \`.claude/guidance/shipped/agent-bootstrap.md\`
|
|
58
|
+
- **Task + swarm coordination:** \`.claude/guidance/shipped/task-swarm-integration.md\`
|
|
59
|
+
- **CLI, hooks, swarm, memory, moflo.yaml:** \`.claude/guidance/shipped/moflo.md\`
|
|
60
60
|
${MARKER_END}`;
|
|
61
61
|
}
|
|
62
62
|
// --- Public API ---
|