moflo 4.8.21 → 4.8.23
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 +698 -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 +18 -2
- 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/init.js +3 -8
- 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/agentdb-backend.js +26 -26
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +27 -27
- 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/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.js +26 -26
- package/src/@claude-flow/memory/package.json +44 -44
- package/src/@claude-flow/shared/README.md +323 -323
- package/src/@claude-flow/shared/dist/events/event-store.js +31 -31
- package/src/README.md +493 -493
package/bin/prompt-hook.mjs
CHANGED
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { execSync } from 'child_process';
|
|
3
|
-
import { resolve } from 'path';
|
|
4
|
-
|
|
5
|
-
// Read stdin JSON from Claude Code
|
|
6
|
-
var stdinData = '';
|
|
7
|
-
try {
|
|
8
|
-
stdinData = await new Promise(function(res) {
|
|
9
|
-
var data = '';
|
|
10
|
-
var timeout = setTimeout(function() { res(data); }, 500);
|
|
11
|
-
process.stdin.setEncoding('utf-8');
|
|
12
|
-
process.stdin.on('data', function(chunk) { data += chunk; });
|
|
13
|
-
process.stdin.on('end', function() { clearTimeout(timeout); res(data); });
|
|
14
|
-
process.stdin.on('error', function() { clearTimeout(timeout); res(''); });
|
|
15
|
-
if (process.stdin.isTTY) { clearTimeout(timeout); res(''); }
|
|
16
|
-
});
|
|
17
|
-
} catch (e) { /* no stdin */ }
|
|
18
|
-
|
|
19
|
-
var hookContext = {};
|
|
20
|
-
try { if (stdinData.trim()) hookContext = JSON.parse(stdinData); } catch (e) {}
|
|
21
|
-
|
|
22
|
-
var userPrompt = hookContext.user_prompt || hookContext.prompt || '';
|
|
23
|
-
var env = Object.assign({}, process.env, { CLAUDE_USER_PROMPT: userPrompt });
|
|
24
|
-
|
|
25
|
-
// Run prompt-reminder via gate.cjs
|
|
26
|
-
var projectDir = (env.CLAUDE_PROJECT_DIR || process.cwd()).replace(/^\/([a-z])\//i, '$1:/');
|
|
27
|
-
var gateScript = resolve(projectDir, '.claude/helpers/gate.cjs');
|
|
28
|
-
var output = '';
|
|
29
|
-
try {
|
|
30
|
-
output = execSync('node "' + gateScript + '" prompt-reminder', {
|
|
31
|
-
env: env, encoding: 'utf-8', timeout: 3000, stdio: ['pipe', 'pipe', 'pipe']
|
|
32
|
-
});
|
|
33
|
-
} catch (err) { output = (err && err.stdout) || ''; }
|
|
34
|
-
|
|
35
|
-
// Classify prompt for namespace hint
|
|
36
|
-
var lower = userPrompt.toLowerCase();
|
|
37
|
-
|
|
38
|
-
var KNOWLEDGE_ONLY = /\b(knowledge|remember|recall)\b|we (decid|agree|chose|said)/;
|
|
39
|
-
var EXPLICIT_NS = [
|
|
40
|
-
{ pattern: /\b(pattern|convention|best practice|style|coding rule)\b/, ns: 'patterns', label: 'code patterns and conventions' },
|
|
41
|
-
{ pattern: /\b(code.?map|file structure|project structure|directory)\b/, ns: 'code-map', label: 'codebase navigation' },
|
|
42
|
-
];
|
|
43
|
-
var PATTERN_HINTS = [/\b(template|example|similar to|how do we|how should)\b/];
|
|
44
|
-
var DOMAIN_HINTS = [
|
|
45
|
-
/\b(guidance|guide|docs|documentation|rules|how-to)\b/,
|
|
46
|
-
/\b(architecture|design|domain|tenant|migrat|schema|deploy)/,
|
|
47
|
-
/\b(rule|requirement|constraint|compliance)\b/,
|
|
48
|
-
];
|
|
49
|
-
var NAV_PATTERNS = [
|
|
50
|
-
/\b(find|where|which file|look up|locate|endpoint|route|url|path)\b/,
|
|
51
|
-
/\b(class|function|method|component|service|entity|module)\b/,
|
|
52
|
-
];
|
|
53
|
-
|
|
54
|
-
var nsHint = '';
|
|
55
|
-
if (KNOWLEDGE_ONLY.test(lower)) {
|
|
56
|
-
nsHint = 'Memory namespace hint: use "knowledge" for user-directed project decisions.';
|
|
57
|
-
} else {
|
|
58
|
-
var found = EXPLICIT_NS.find(function(e) { return e.pattern.test(lower); });
|
|
59
|
-
if (found) {
|
|
60
|
-
nsHint = 'Memory namespace hint: use "' + found.ns + '" for ' + found.label + '.';
|
|
61
|
-
} else if (DOMAIN_HINTS.some(function(p) { return p.test(lower); })) {
|
|
62
|
-
nsHint = 'Memory namespace hint: search "guidance" and "knowledge" for domain rules and project decisions.';
|
|
63
|
-
} else if (PATTERN_HINTS.some(function(p) { return p.test(lower); })) {
|
|
64
|
-
nsHint = 'Memory namespace hint: use "patterns" for code patterns and conventions.';
|
|
65
|
-
} else if (NAV_PATTERNS.some(function(p) { return p.test(lower); })) {
|
|
66
|
-
nsHint = 'Memory namespace hint: use "code-map" for codebase navigation.';
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
var parts = [output.trim(), nsHint].filter(Boolean);
|
|
71
|
-
if (parts.length) process.stdout.write(parts.join('\n') + '\n');
|
|
72
|
-
process.exit(0);
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
import { resolve } from 'path';
|
|
4
|
+
|
|
5
|
+
// Read stdin JSON from Claude Code
|
|
6
|
+
var stdinData = '';
|
|
7
|
+
try {
|
|
8
|
+
stdinData = await new Promise(function(res) {
|
|
9
|
+
var data = '';
|
|
10
|
+
var timeout = setTimeout(function() { res(data); }, 500);
|
|
11
|
+
process.stdin.setEncoding('utf-8');
|
|
12
|
+
process.stdin.on('data', function(chunk) { data += chunk; });
|
|
13
|
+
process.stdin.on('end', function() { clearTimeout(timeout); res(data); });
|
|
14
|
+
process.stdin.on('error', function() { clearTimeout(timeout); res(''); });
|
|
15
|
+
if (process.stdin.isTTY) { clearTimeout(timeout); res(''); }
|
|
16
|
+
});
|
|
17
|
+
} catch (e) { /* no stdin */ }
|
|
18
|
+
|
|
19
|
+
var hookContext = {};
|
|
20
|
+
try { if (stdinData.trim()) hookContext = JSON.parse(stdinData); } catch (e) {}
|
|
21
|
+
|
|
22
|
+
var userPrompt = hookContext.user_prompt || hookContext.prompt || '';
|
|
23
|
+
var env = Object.assign({}, process.env, { CLAUDE_USER_PROMPT: userPrompt });
|
|
24
|
+
|
|
25
|
+
// Run prompt-reminder via gate.cjs
|
|
26
|
+
var projectDir = (env.CLAUDE_PROJECT_DIR || process.cwd()).replace(/^\/([a-z])\//i, '$1:/');
|
|
27
|
+
var gateScript = resolve(projectDir, '.claude/helpers/gate.cjs');
|
|
28
|
+
var output = '';
|
|
29
|
+
try {
|
|
30
|
+
output = execSync('node "' + gateScript + '" prompt-reminder', {
|
|
31
|
+
env: env, encoding: 'utf-8', timeout: 3000, stdio: ['pipe', 'pipe', 'pipe']
|
|
32
|
+
});
|
|
33
|
+
} catch (err) { output = (err && err.stdout) || ''; }
|
|
34
|
+
|
|
35
|
+
// Classify prompt for namespace hint
|
|
36
|
+
var lower = userPrompt.toLowerCase();
|
|
37
|
+
|
|
38
|
+
var KNOWLEDGE_ONLY = /\b(knowledge|remember|recall)\b|we (decid|agree|chose|said)/;
|
|
39
|
+
var EXPLICIT_NS = [
|
|
40
|
+
{ pattern: /\b(pattern|convention|best practice|style|coding rule)\b/, ns: 'patterns', label: 'code patterns and conventions' },
|
|
41
|
+
{ pattern: /\b(code.?map|file structure|project structure|directory)\b/, ns: 'code-map', label: 'codebase navigation' },
|
|
42
|
+
];
|
|
43
|
+
var PATTERN_HINTS = [/\b(template|example|similar to|how do we|how should)\b/];
|
|
44
|
+
var DOMAIN_HINTS = [
|
|
45
|
+
/\b(guidance|guide|docs|documentation|rules|how-to)\b/,
|
|
46
|
+
/\b(architecture|design|domain|tenant|migrat|schema|deploy)/,
|
|
47
|
+
/\b(rule|requirement|constraint|compliance)\b/,
|
|
48
|
+
];
|
|
49
|
+
var NAV_PATTERNS = [
|
|
50
|
+
/\b(find|where|which file|look up|locate|endpoint|route|url|path)\b/,
|
|
51
|
+
/\b(class|function|method|component|service|entity|module)\b/,
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
var nsHint = '';
|
|
55
|
+
if (KNOWLEDGE_ONLY.test(lower)) {
|
|
56
|
+
nsHint = 'Memory namespace hint: use "knowledge" for user-directed project decisions.';
|
|
57
|
+
} else {
|
|
58
|
+
var found = EXPLICIT_NS.find(function(e) { return e.pattern.test(lower); });
|
|
59
|
+
if (found) {
|
|
60
|
+
nsHint = 'Memory namespace hint: use "' + found.ns + '" for ' + found.label + '.';
|
|
61
|
+
} else if (DOMAIN_HINTS.some(function(p) { return p.test(lower); })) {
|
|
62
|
+
nsHint = 'Memory namespace hint: search "guidance" and "knowledge" for domain rules and project decisions.';
|
|
63
|
+
} else if (PATTERN_HINTS.some(function(p) { return p.test(lower); })) {
|
|
64
|
+
nsHint = 'Memory namespace hint: use "patterns" for code patterns and conventions.';
|
|
65
|
+
} else if (NAV_PATTERNS.some(function(p) { return p.test(lower); })) {
|
|
66
|
+
nsHint = 'Memory namespace hint: use "code-map" for codebase navigation.';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var parts = [output.trim(), nsHint].filter(Boolean);
|
|
71
|
+
if (parts.length) process.stdout.write(parts.join('\n') + '\n');
|
|
72
|
+
process.exit(0);
|