wogiflow 1.0.0
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/.workflow/agents/reviewer.md +81 -0
- package/.workflow/agents/security.md +94 -0
- package/.workflow/agents/story-writer.md +58 -0
- package/.workflow/bridges/base-bridge.js +395 -0
- package/.workflow/bridges/claude-bridge.js +434 -0
- package/.workflow/bridges/index.js +130 -0
- package/.workflow/lib/assumption-detector.js +481 -0
- package/.workflow/lib/config-substitution.js +371 -0
- package/.workflow/lib/failure-categories.js +478 -0
- package/.workflow/state/app-map.md.template +15 -0
- package/.workflow/state/architecture.md.template +24 -0
- package/.workflow/state/component-index.json.template +5 -0
- package/.workflow/state/decisions.md.template +15 -0
- package/.workflow/state/feedback-patterns.md.template +9 -0
- package/.workflow/state/knowledge-sync.json.template +6 -0
- package/.workflow/state/progress.md.template +14 -0
- package/.workflow/state/ready.json.template +7 -0
- package/.workflow/state/request-log.md.template +14 -0
- package/.workflow/state/session-state.json.template +11 -0
- package/.workflow/state/stack.md.template +33 -0
- package/.workflow/state/testing.md.template +36 -0
- package/.workflow/templates/claude-md.hbs +257 -0
- package/.workflow/templates/correction-report.md +67 -0
- package/.workflow/templates/gemini-md.hbs +52 -0
- package/README.md +1802 -0
- package/bin/flow +205 -0
- package/lib/index.js +33 -0
- package/lib/installer.js +467 -0
- package/lib/release-channel.js +269 -0
- package/lib/skill-registry.js +526 -0
- package/lib/upgrader.js +401 -0
- package/lib/utils.js +305 -0
- package/package.json +64 -0
- package/scripts/flow +985 -0
- package/scripts/flow-adaptive-learning.js +1259 -0
- package/scripts/flow-aggregate.js +488 -0
- package/scripts/flow-archive +133 -0
- package/scripts/flow-auto-context.js +1015 -0
- package/scripts/flow-auto-learn.js +615 -0
- package/scripts/flow-bridge.js +223 -0
- package/scripts/flow-browser-suggest.js +316 -0
- package/scripts/flow-bug.js +247 -0
- package/scripts/flow-cascade.js +711 -0
- package/scripts/flow-changelog +85 -0
- package/scripts/flow-checkpoint.js +483 -0
- package/scripts/flow-cli.js +403 -0
- package/scripts/flow-code-intelligence.js +760 -0
- package/scripts/flow-complexity.js +502 -0
- package/scripts/flow-config-set.js +152 -0
- package/scripts/flow-constants.js +157 -0
- package/scripts/flow-context +152 -0
- package/scripts/flow-context-init.js +482 -0
- package/scripts/flow-context-monitor.js +384 -0
- package/scripts/flow-context-scoring.js +886 -0
- package/scripts/flow-correct.js +458 -0
- package/scripts/flow-damage-control.js +985 -0
- package/scripts/flow-deps +101 -0
- package/scripts/flow-diff.js +700 -0
- package/scripts/flow-done +151 -0
- package/scripts/flow-done.js +489 -0
- package/scripts/flow-durable-session.js +1541 -0
- package/scripts/flow-entropy-monitor.js +345 -0
- package/scripts/flow-export-profile +349 -0
- package/scripts/flow-export-scanner.js +1046 -0
- package/scripts/flow-figma-confirm.js +400 -0
- package/scripts/flow-figma-extract.js +496 -0
- package/scripts/flow-figma-generate.js +683 -0
- package/scripts/flow-figma-index.js +909 -0
- package/scripts/flow-figma-match.js +617 -0
- package/scripts/flow-figma-mcp-server.js +518 -0
- package/scripts/flow-figma-pipeline.js +414 -0
- package/scripts/flow-file-ops.js +301 -0
- package/scripts/flow-gate-confidence.js +825 -0
- package/scripts/flow-guided-edit.js +659 -0
- package/scripts/flow-health +185 -0
- package/scripts/flow-health.js +413 -0
- package/scripts/flow-hooks.js +556 -0
- package/scripts/flow-http-client.js +249 -0
- package/scripts/flow-hybrid-detect.js +167 -0
- package/scripts/flow-hybrid-interactive.js +591 -0
- package/scripts/flow-hybrid-test.js +152 -0
- package/scripts/flow-import-profile +439 -0
- package/scripts/flow-init +253 -0
- package/scripts/flow-instruction-richness.js +827 -0
- package/scripts/flow-jira-integration.js +579 -0
- package/scripts/flow-knowledge-router.js +522 -0
- package/scripts/flow-knowledge-sync.js +589 -0
- package/scripts/flow-linear-integration.js +631 -0
- package/scripts/flow-links.js +774 -0
- package/scripts/flow-log-manager.js +559 -0
- package/scripts/flow-loop-enforcer.js +1246 -0
- package/scripts/flow-loop-retry-learning.js +630 -0
- package/scripts/flow-lsp.js +923 -0
- package/scripts/flow-map-index +348 -0
- package/scripts/flow-map-sync +201 -0
- package/scripts/flow-memory-blocks.js +668 -0
- package/scripts/flow-memory-compactor.js +350 -0
- package/scripts/flow-memory-db.js +1110 -0
- package/scripts/flow-memory-sync.js +484 -0
- package/scripts/flow-metrics.js +353 -0
- package/scripts/flow-migrate-ids.js +370 -0
- package/scripts/flow-model-adapter.js +802 -0
- package/scripts/flow-model-router.js +884 -0
- package/scripts/flow-models.js +1231 -0
- package/scripts/flow-morning.js +517 -0
- package/scripts/flow-multi-approach.js +660 -0
- package/scripts/flow-new-feature +86 -0
- package/scripts/flow-onboard +1042 -0
- package/scripts/flow-orchestrate-llm.js +459 -0
- package/scripts/flow-orchestrate.js +3592 -0
- package/scripts/flow-output.js +123 -0
- package/scripts/flow-parallel-detector.js +399 -0
- package/scripts/flow-parallel-dispatch.js +987 -0
- package/scripts/flow-parallel.js +428 -0
- package/scripts/flow-pattern-enforcer.js +600 -0
- package/scripts/flow-prd-manager.js +282 -0
- package/scripts/flow-progress.js +323 -0
- package/scripts/flow-project-analyzer.js +975 -0
- package/scripts/flow-prompt-composer.js +487 -0
- package/scripts/flow-providers.js +1381 -0
- package/scripts/flow-queue.js +308 -0
- package/scripts/flow-ready +82 -0
- package/scripts/flow-ready.js +189 -0
- package/scripts/flow-regression.js +396 -0
- package/scripts/flow-response-parser.js +450 -0
- package/scripts/flow-resume.js +284 -0
- package/scripts/flow-rules-sync.js +439 -0
- package/scripts/flow-run-trace.js +718 -0
- package/scripts/flow-safety.js +587 -0
- package/scripts/flow-search +104 -0
- package/scripts/flow-security.js +481 -0
- package/scripts/flow-session-end +106 -0
- package/scripts/flow-session-end.js +437 -0
- package/scripts/flow-session-state.js +671 -0
- package/scripts/flow-setup-hooks +216 -0
- package/scripts/flow-setup-hooks.js +377 -0
- package/scripts/flow-skill-create.js +329 -0
- package/scripts/flow-skill-creator.js +572 -0
- package/scripts/flow-skill-generator.js +1046 -0
- package/scripts/flow-skill-learn.js +880 -0
- package/scripts/flow-skill-matcher.js +578 -0
- package/scripts/flow-spec-generator.js +820 -0
- package/scripts/flow-stack-wizard.js +895 -0
- package/scripts/flow-standup +162 -0
- package/scripts/flow-start +74 -0
- package/scripts/flow-start.js +235 -0
- package/scripts/flow-status +110 -0
- package/scripts/flow-status.js +301 -0
- package/scripts/flow-step-browser.js +83 -0
- package/scripts/flow-step-changelog.js +217 -0
- package/scripts/flow-step-comments.js +306 -0
- package/scripts/flow-step-complexity.js +234 -0
- package/scripts/flow-step-coverage.js +218 -0
- package/scripts/flow-step-knowledge.js +193 -0
- package/scripts/flow-step-pr-tests.js +364 -0
- package/scripts/flow-step-regression.js +89 -0
- package/scripts/flow-step-review.js +516 -0
- package/scripts/flow-step-security.js +162 -0
- package/scripts/flow-step-silent-failures.js +290 -0
- package/scripts/flow-step-simplifier.js +346 -0
- package/scripts/flow-story +105 -0
- package/scripts/flow-story.js +500 -0
- package/scripts/flow-suspend.js +252 -0
- package/scripts/flow-sync-daemon.js +654 -0
- package/scripts/flow-task-analyzer.js +606 -0
- package/scripts/flow-team-dashboard.js +748 -0
- package/scripts/flow-team-sync.js +752 -0
- package/scripts/flow-team.js +977 -0
- package/scripts/flow-tech-options.js +528 -0
- package/scripts/flow-templates.js +812 -0
- package/scripts/flow-tiered-learning.js +728 -0
- package/scripts/flow-trace +204 -0
- package/scripts/flow-transcript-chunking.js +1106 -0
- package/scripts/flow-transcript-digest.js +7918 -0
- package/scripts/flow-transcript-language.js +465 -0
- package/scripts/flow-transcript-parsing.js +1085 -0
- package/scripts/flow-transcript-stories.js +2194 -0
- package/scripts/flow-update-map +224 -0
- package/scripts/flow-utils.js +2242 -0
- package/scripts/flow-verification.js +644 -0
- package/scripts/flow-verify.js +1177 -0
- package/scripts/flow-voice-input.js +638 -0
- package/scripts/flow-watch +168 -0
- package/scripts/flow-workflow-steps.js +521 -0
- package/scripts/flow-workflow.js +1029 -0
- package/scripts/flow-worktree.js +489 -0
- package/scripts/hooks/adapters/base-adapter.js +102 -0
- package/scripts/hooks/adapters/claude-code.js +359 -0
- package/scripts/hooks/adapters/index.js +79 -0
- package/scripts/hooks/core/component-check.js +341 -0
- package/scripts/hooks/core/index.js +35 -0
- package/scripts/hooks/core/loop-check.js +241 -0
- package/scripts/hooks/core/session-context.js +294 -0
- package/scripts/hooks/core/task-gate.js +177 -0
- package/scripts/hooks/core/validation.js +230 -0
- package/scripts/hooks/entry/claude-code/post-tool-use.js +65 -0
- package/scripts/hooks/entry/claude-code/pre-tool-use.js +89 -0
- package/scripts/hooks/entry/claude-code/session-end.js +87 -0
- package/scripts/hooks/entry/claude-code/session-start.js +46 -0
- package/scripts/hooks/entry/claude-code/stop.js +43 -0
- package/scripts/postinstall.js +139 -0
- package/templates/browser-test-flow.json +56 -0
- package/templates/bug-report.md +43 -0
- package/templates/component-detail.md +42 -0
- package/templates/component.stories.tsx +49 -0
- package/templates/context/constraints.md +83 -0
- package/templates/context/conventions.md +177 -0
- package/templates/context/stack.md +60 -0
- package/templates/correction-report.md +90 -0
- package/templates/feature-proposal.md +35 -0
- package/templates/hybrid/_base.md +254 -0
- package/templates/hybrid/_patterns.md +45 -0
- package/templates/hybrid/create-component.md +127 -0
- package/templates/hybrid/create-file.md +56 -0
- package/templates/hybrid/create-hook.md +145 -0
- package/templates/hybrid/create-service.md +70 -0
- package/templates/hybrid/fix-bug.md +33 -0
- package/templates/hybrid/modify-file.md +55 -0
- package/templates/story.md +68 -0
- package/templates/task.json +56 -0
- package/templates/trace.md +69 -0
package/scripts/flow
ADDED
|
@@ -0,0 +1,985 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Wogi Flow - Main CLI
|
|
4
|
+
# Self-improving AI development workflow
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
set -o pipefail # Catch errors in piped commands
|
|
8
|
+
|
|
9
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
10
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
11
|
+
|
|
12
|
+
show_version() {
|
|
13
|
+
if [ -f "$PROJECT_ROOT/.wogi-version" ]; then
|
|
14
|
+
echo "Wogi Flow v$(cat "$PROJECT_ROOT/.wogi-version")"
|
|
15
|
+
else
|
|
16
|
+
echo "Wogi Flow (version unknown)"
|
|
17
|
+
fi
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
show_quick_help() {
|
|
21
|
+
show_version
|
|
22
|
+
echo ""
|
|
23
|
+
echo "Quick Start:"
|
|
24
|
+
echo " flow install # Set up workflow in project"
|
|
25
|
+
echo " flow ready # See tasks ready to work on"
|
|
26
|
+
echo " flow start TASK-XXX # Start a task"
|
|
27
|
+
echo " flow done TASK-XXX # Complete a task"
|
|
28
|
+
echo " flow status # Project overview"
|
|
29
|
+
echo ""
|
|
30
|
+
echo "Run 'flow help' for full command list"
|
|
31
|
+
echo "Run 'flow help <command>' for command details"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
show_help() {
|
|
35
|
+
show_version
|
|
36
|
+
echo ""
|
|
37
|
+
echo "Usage: flow <command> [options]"
|
|
38
|
+
echo ""
|
|
39
|
+
echo "Setup & Updates:"
|
|
40
|
+
echo " install Interactive setup wizard"
|
|
41
|
+
echo " install --quick Quick setup with defaults"
|
|
42
|
+
echo " onboard Analyze existing project & set up context"
|
|
43
|
+
echo " migrate Migrate to universal CLI-agnostic structure"
|
|
44
|
+
echo " migrate --dry-run Preview migration without changes"
|
|
45
|
+
echo " update Update to latest version (preserves data)"
|
|
46
|
+
echo " update --check Check for available updates"
|
|
47
|
+
echo ""
|
|
48
|
+
echo "Task Management:"
|
|
49
|
+
echo " ready Show tasks ready to work on"
|
|
50
|
+
echo " start <task-id> Start working on a task"
|
|
51
|
+
echo " done <task-id> Mark task complete"
|
|
52
|
+
echo " status Show project overview"
|
|
53
|
+
echo " deps <task-id> Show task dependencies"
|
|
54
|
+
echo ""
|
|
55
|
+
echo "Story & Feature Creation:"
|
|
56
|
+
echo " story <title> Create detailed story with acceptance criteria"
|
|
57
|
+
echo " story <title> --deep Create story with automatic decomposition"
|
|
58
|
+
echo " new-feature <n> Create new feature"
|
|
59
|
+
echo " bug <title> Create bug report"
|
|
60
|
+
echo ""
|
|
61
|
+
echo "Workflow:"
|
|
62
|
+
echo " morning Morning briefing - where you left off"
|
|
63
|
+
echo " health Check workflow health"
|
|
64
|
+
echo " verify <gate> Run verification gate (lint, typecheck, test, build)"
|
|
65
|
+
echo " verify all Run all verification gates"
|
|
66
|
+
echo " regression Run regression tests on completed tasks"
|
|
67
|
+
echo " regression --all Test all completed tasks"
|
|
68
|
+
echo " browser-suggest Suggest browser tests for a task"
|
|
69
|
+
echo " step list Show all workflow steps with status"
|
|
70
|
+
echo " step enable <name> Enable a workflow step"
|
|
71
|
+
echo " step disable <name> Disable a workflow step"
|
|
72
|
+
echo " standup [days] Generate standup summary"
|
|
73
|
+
echo " session-end End session properly"
|
|
74
|
+
echo " init Initialize workflow (legacy)"
|
|
75
|
+
echo " setup-hooks Install/manage git hooks"
|
|
76
|
+
echo " hooks setup Install CLI hooks (Claude Code, etc.)"
|
|
77
|
+
echo " hooks remove Remove CLI hooks"
|
|
78
|
+
echo " hooks status Show CLI hooks status"
|
|
79
|
+
echo " archive Archive old request-log entries"
|
|
80
|
+
echo " watch Run file watcher for auto-validation"
|
|
81
|
+
echo ""
|
|
82
|
+
echo "Components:"
|
|
83
|
+
echo " update-map Add/scan components in app map"
|
|
84
|
+
echo " map-index Auto-generate component index"
|
|
85
|
+
echo " map-index scan Rescan codebase"
|
|
86
|
+
echo " map-sync Compare index with app-map"
|
|
87
|
+
echo ""
|
|
88
|
+
echo "Skills & Learning:"
|
|
89
|
+
echo " skill-learn Extract learnings from recent changes"
|
|
90
|
+
echo " skill-create <name> Create a new skill"
|
|
91
|
+
echo " skill-create --list List existing skills"
|
|
92
|
+
echo " skill detect Detect frameworks in project"
|
|
93
|
+
echo " skill list List installed skills"
|
|
94
|
+
echo " skill registry List skills from registry"
|
|
95
|
+
echo " skill add <name> Install skill from registry"
|
|
96
|
+
echo " skill remove <name> Remove installed skill"
|
|
97
|
+
echo " skill update [name] Update skill(s)"
|
|
98
|
+
echo " skill info <name> Show skill details"
|
|
99
|
+
echo " correct Capture a correction/learning"
|
|
100
|
+
echo " correct \"desc\" Quick mode with description"
|
|
101
|
+
echo " correct list List recent corrections"
|
|
102
|
+
echo " aggregate Aggregate learnings across skills"
|
|
103
|
+
echo " aggregate --promote Interactive promotion wizard"
|
|
104
|
+
echo ""
|
|
105
|
+
echo "Code Traces:"
|
|
106
|
+
echo " trace \"<prompt>\" Generate task-focused code trace"
|
|
107
|
+
echo " trace list List saved traces"
|
|
108
|
+
echo " trace show <n> Show a saved trace"
|
|
109
|
+
echo ""
|
|
110
|
+
echo "Run History:"
|
|
111
|
+
echo " run-trace start <n> Start a new traced run"
|
|
112
|
+
echo " run-trace end End current run"
|
|
113
|
+
echo " history [--limit N] List recent runs"
|
|
114
|
+
echo " inspect <run-id> Show run details"
|
|
115
|
+
echo " run-trace cleanup Remove old runs"
|
|
116
|
+
echo ""
|
|
117
|
+
echo "Diff Preview:"
|
|
118
|
+
echo " diff <file1> <file2> Show diff between files"
|
|
119
|
+
echo " diff --preview <ops.json> Preview proposed changes"
|
|
120
|
+
echo " diff --apply <ops.json> Apply changes from JSON"
|
|
121
|
+
echo " diff --dry-run <ops.json> Show diff without prompting"
|
|
122
|
+
echo ""
|
|
123
|
+
echo "Checkpoints:"
|
|
124
|
+
echo " checkpoint create [msg] Create manual checkpoint"
|
|
125
|
+
echo " checkpoint list List all checkpoints"
|
|
126
|
+
echo " checkpoint rollback <id> Rollback to checkpoint"
|
|
127
|
+
echo " checkpoint cleanup Remove old checkpoints"
|
|
128
|
+
echo ""
|
|
129
|
+
echo "Search & Context:"
|
|
130
|
+
echo " search <query> Search request-log by tag/keyword"
|
|
131
|
+
echo " context <task-id> Load all context for a task"
|
|
132
|
+
echo " links list List external links"
|
|
133
|
+
echo " links fetch <name> Fetch and cache link content"
|
|
134
|
+
echo " links add <n> <url> Add external link"
|
|
135
|
+
echo ""
|
|
136
|
+
echo "Team & Collaboration:"
|
|
137
|
+
echo " team login <code> Join team with invite code"
|
|
138
|
+
echo " team logout Leave current team"
|
|
139
|
+
echo " team setup List/select team setups"
|
|
140
|
+
echo " team sync Sync knowledge with team (project-scoped)"
|
|
141
|
+
echo " team sync-status Show sync status for project"
|
|
142
|
+
echo " team sync-init <id> Initialize project-based sync"
|
|
143
|
+
echo " team proposals View/vote on proposals"
|
|
144
|
+
echo " team status Show team status"
|
|
145
|
+
echo " team dashboard Start observability web dashboard (Phase 6)"
|
|
146
|
+
echo " export-profile Export workflow config for team"
|
|
147
|
+
echo " import-profile Import team config"
|
|
148
|
+
echo ""
|
|
149
|
+
echo "Integrations (Phase 6):"
|
|
150
|
+
echo " jira list List assigned Jira issues"
|
|
151
|
+
echo " jira sync Import Jira issues to ready.json"
|
|
152
|
+
echo " jira push Push completed tasks to Jira"
|
|
153
|
+
echo " jira config Show Jira configuration"
|
|
154
|
+
echo " linear list List assigned Linear issues"
|
|
155
|
+
echo " linear sync Import Linear issues to ready.json"
|
|
156
|
+
echo " linear push Push completed tasks to Linear"
|
|
157
|
+
echo " linear config Show Linear configuration"
|
|
158
|
+
echo " external-tasks List tasks from all integrations"
|
|
159
|
+
echo " sync-daemon start Start background sync daemon"
|
|
160
|
+
echo " sync-daemon stop Stop background sync daemon"
|
|
161
|
+
echo " sync-daemon status Show daemon status"
|
|
162
|
+
echo ""
|
|
163
|
+
echo "PRD Management:"
|
|
164
|
+
echo " prd load <file> Load PRD into memory"
|
|
165
|
+
echo " prd context <task> Get PRD context for task"
|
|
166
|
+
echo " prd list List loaded PRDs"
|
|
167
|
+
echo " prd clear Clear PRD data"
|
|
168
|
+
echo ""
|
|
169
|
+
echo "Docs:"
|
|
170
|
+
echo " changelog Generate changelog from request-log"
|
|
171
|
+
echo ""
|
|
172
|
+
echo "Parallel Execution:"
|
|
173
|
+
echo " parallel config Show parallel execution config"
|
|
174
|
+
echo " parallel check Check tasks for parallel potential"
|
|
175
|
+
echo " parallel analyze Analyze tasks for parallel potential"
|
|
176
|
+
echo " parallel suggest Check if parallel should be suggested"
|
|
177
|
+
echo " parallel enable Enable parallel execution"
|
|
178
|
+
echo " parallel disable Disable parallel execution"
|
|
179
|
+
echo ""
|
|
180
|
+
echo "Loop Enforcement:"
|
|
181
|
+
echo " loop status Show active loop session"
|
|
182
|
+
echo " loop stats Show loop statistics"
|
|
183
|
+
echo " loop can-exit Check if current loop can exit"
|
|
184
|
+
echo ""
|
|
185
|
+
echo "Task Queue (v2.1):"
|
|
186
|
+
echo " queue init <ids...> Initialize multi-task queue"
|
|
187
|
+
echo " queue status Show queue status"
|
|
188
|
+
echo " queue clear Clear the queue"
|
|
189
|
+
echo " queue parse \"text\" Parse natural language for task IDs"
|
|
190
|
+
echo " queue advance Advance to next task"
|
|
191
|
+
echo ""
|
|
192
|
+
echo "Durable Sessions (v2.0):"
|
|
193
|
+
echo " suspend Suspend current task"
|
|
194
|
+
echo " suspend --wait-ci Wait for CI/CD pipeline"
|
|
195
|
+
echo " suspend --review Wait for human review"
|
|
196
|
+
echo " suspend --rate-limit Wait N seconds"
|
|
197
|
+
echo " resume Resume suspended task"
|
|
198
|
+
echo " resume --status Show suspension status"
|
|
199
|
+
echo " resume --approve Approve human review"
|
|
200
|
+
echo " session status Show durable session status"
|
|
201
|
+
echo " session stats Show session statistics"
|
|
202
|
+
echo " session clear Clear active session"
|
|
203
|
+
echo ""
|
|
204
|
+
echo "Worktree Isolation:"
|
|
205
|
+
echo " worktree enable Enable worktree isolation for tasks"
|
|
206
|
+
echo " worktree disable Disable worktree isolation"
|
|
207
|
+
echo " worktree list List active task worktrees"
|
|
208
|
+
echo " worktree cleanup Remove stale worktrees"
|
|
209
|
+
echo ""
|
|
210
|
+
echo "Figma Analyzer:"
|
|
211
|
+
echo " figma scan Scan codebase for components"
|
|
212
|
+
echo " figma show [name] Show component details"
|
|
213
|
+
echo " figma extract <file> Extract from Figma data"
|
|
214
|
+
echo " figma match <file> Match against registry"
|
|
215
|
+
echo " figma confirm <file> Interactive confirmation"
|
|
216
|
+
echo " figma generate Generate code from decisions"
|
|
217
|
+
echo " figma server [port] Start MCP server"
|
|
218
|
+
echo ""
|
|
219
|
+
echo "Hybrid Mode:"
|
|
220
|
+
echo " hybrid enable Enable hybrid mode (Claude plans, local LLM executes)"
|
|
221
|
+
echo " hybrid disable Disable hybrid mode"
|
|
222
|
+
echo " hybrid status Show hybrid mode status"
|
|
223
|
+
echo " hybrid execute Execute a plan file"
|
|
224
|
+
echo " hybrid rollback Rollback last execution"
|
|
225
|
+
echo " hybrid test Test hybrid mode installation"
|
|
226
|
+
echo " templates generate Generate project-specific templates"
|
|
227
|
+
echo ""
|
|
228
|
+
echo "Model Providers:"
|
|
229
|
+
echo " providers list List all available providers"
|
|
230
|
+
echo " providers detect Detect running local providers"
|
|
231
|
+
echo " providers test <t> Test a provider connection"
|
|
232
|
+
echo ""
|
|
233
|
+
echo "CLI Bridge:"
|
|
234
|
+
echo " bridge sync Sync .workflow/ to CLI-specific folder"
|
|
235
|
+
echo " bridge status Show bridge status"
|
|
236
|
+
echo " bridge list List available bridges"
|
|
237
|
+
echo ""
|
|
238
|
+
echo "Release Channels:"
|
|
239
|
+
echo " channel show Show current release channel"
|
|
240
|
+
echo " channel set <name> Set release channel (stable, beta, canary)"
|
|
241
|
+
echo " channel list List available channels"
|
|
242
|
+
echo " channel check Check for updates"
|
|
243
|
+
echo ""
|
|
244
|
+
echo "Declarative Workflows:"
|
|
245
|
+
echo " workflow list List available workflows"
|
|
246
|
+
echo " workflow run <name> Run a workflow"
|
|
247
|
+
echo " workflow create <n> Create workflow template"
|
|
248
|
+
echo ""
|
|
249
|
+
echo "Metrics & Analysis:"
|
|
250
|
+
echo " metrics Show command success/failure stats"
|
|
251
|
+
echo " metrics --problems Show only problematic commands"
|
|
252
|
+
echo " metrics --reset Clear all metrics"
|
|
253
|
+
echo " insights Generate codebase insights report"
|
|
254
|
+
echo " auto-context \"task\" Preview context that would be loaded"
|
|
255
|
+
echo " model-adapter Show current model adapter info"
|
|
256
|
+
echo " model-adapter --stats Show per-model statistics"
|
|
257
|
+
echo " models Manage model registry and stats"
|
|
258
|
+
echo " models list List all registered models"
|
|
259
|
+
echo " models info <model> Show detailed model info"
|
|
260
|
+
echo " models route <type> Get routing recommendation"
|
|
261
|
+
echo " models stats Show model performance statistics"
|
|
262
|
+
echo " models cost Show cost analysis"
|
|
263
|
+
echo ""
|
|
264
|
+
echo "Intelligent Routing (Phase 3):"
|
|
265
|
+
echo " route \"<task>\" Get enhanced routing recommendation"
|
|
266
|
+
echo " route --strategy <s> Use specific strategy (quality-first, cost-optimized, learned)"
|
|
267
|
+
echo " cascade status Show cascade fallback state"
|
|
268
|
+
echo " cascade reset Reset failure tracking"
|
|
269
|
+
echo " cascade config Show cascade configuration"
|
|
270
|
+
echo " learning tiers Show patterns by confidence tier"
|
|
271
|
+
echo " learning stats Show learning statistics"
|
|
272
|
+
echo " learning apply <p> Manually apply a pattern"
|
|
273
|
+
echo " multi-approach Start multi-approach session"
|
|
274
|
+
echo " multi-approach --analyze \"task\" Analyze without starting"
|
|
275
|
+
echo " complexity \"task\" Assess task complexity and token estimate"
|
|
276
|
+
echo " safety Run security scan on codebase"
|
|
277
|
+
echo " context-init \"task\" Initialize context for a task"
|
|
278
|
+
echo ""
|
|
279
|
+
echo "Advanced Execution (Phase 4):"
|
|
280
|
+
echo " dispatch analyze \"<task>\" Analyze task for parallel execution"
|
|
281
|
+
echo " dispatch plan \"<task>\" Create dispatch plan"
|
|
282
|
+
echo " dispatch status Show dispatch status"
|
|
283
|
+
echo " ctx-score score --task Score context items by relevance"
|
|
284
|
+
echo " ctx-score budget --tokens Fit context within token budget"
|
|
285
|
+
echo " ctx-score analyze --file Analyze file for context inclusion"
|
|
286
|
+
echo " confidence analyze \"<text>\" Analyze response confidence"
|
|
287
|
+
echo " confidence check --file Check confidence of file"
|
|
288
|
+
echo " confidence stats Show confidence statistics"
|
|
289
|
+
echo ""
|
|
290
|
+
echo "Memory & Knowledge (v1.8):"
|
|
291
|
+
echo " memory search <query> Search stored facts"
|
|
292
|
+
echo " memory stats Show memory statistics"
|
|
293
|
+
echo " memory-server Start MCP memory server"
|
|
294
|
+
echo " entropy Show memory entropy stats"
|
|
295
|
+
echo " entropy --auto Auto-compact if entropy high"
|
|
296
|
+
echo " entropy --history Show entropy history"
|
|
297
|
+
echo " compact-memory Run full memory compaction"
|
|
298
|
+
echo " compact-memory --preview Show what would be affected"
|
|
299
|
+
echo " memory-sync Check patterns for promotion"
|
|
300
|
+
echo " memory-sync --auto Auto-promote to decisions.md"
|
|
301
|
+
echo " knowledge-sync status Check knowledge files sync status"
|
|
302
|
+
echo " knowledge-sync regenerate Regenerate stale knowledge files"
|
|
303
|
+
echo " knowledge-route <text> Detect route for a learning"
|
|
304
|
+
echo " knowledge-route store Store a learning with route"
|
|
305
|
+
echo " log-manager status Show request-log statistics"
|
|
306
|
+
echo " log-manager archive Archive old log entries"
|
|
307
|
+
echo ""
|
|
308
|
+
echo "Options:"
|
|
309
|
+
echo " help, --help, -h Show this help"
|
|
310
|
+
echo " version, --version Show version"
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
case "${1:-}" in
|
|
314
|
+
ready)
|
|
315
|
+
node "$SCRIPT_DIR/flow-ready.js" "${@:2}"
|
|
316
|
+
;;
|
|
317
|
+
start)
|
|
318
|
+
node "$SCRIPT_DIR/flow-start.js" "${@:2}"
|
|
319
|
+
;;
|
|
320
|
+
done)
|
|
321
|
+
node "$SCRIPT_DIR/flow-done.js" "${@:2}"
|
|
322
|
+
;;
|
|
323
|
+
story)
|
|
324
|
+
node "$SCRIPT_DIR/flow-story.js" "${@:2}"
|
|
325
|
+
;;
|
|
326
|
+
new-feature)
|
|
327
|
+
"$SCRIPT_DIR/flow-new-feature" "${@:2}"
|
|
328
|
+
;;
|
|
329
|
+
bug)
|
|
330
|
+
node "$SCRIPT_DIR/flow-bug.js" "${@:2}"
|
|
331
|
+
;;
|
|
332
|
+
status)
|
|
333
|
+
node "$SCRIPT_DIR/flow-status.js" "${@:2}"
|
|
334
|
+
;;
|
|
335
|
+
deps)
|
|
336
|
+
"$SCRIPT_DIR/flow-deps" "${@:2}"
|
|
337
|
+
;;
|
|
338
|
+
health)
|
|
339
|
+
node "$SCRIPT_DIR/flow-health.js" "${@:2}"
|
|
340
|
+
;;
|
|
341
|
+
safety)
|
|
342
|
+
node "$SCRIPT_DIR/flow-safety.js" "${@:2}"
|
|
343
|
+
;;
|
|
344
|
+
damage-control|dc)
|
|
345
|
+
node "$SCRIPT_DIR/flow-damage-control.js" "${@:2}"
|
|
346
|
+
;;
|
|
347
|
+
verify)
|
|
348
|
+
node "$SCRIPT_DIR/flow-verify.js" "${@:2}"
|
|
349
|
+
;;
|
|
350
|
+
regression)
|
|
351
|
+
node "$SCRIPT_DIR/flow-regression.js" "${@:2}"
|
|
352
|
+
;;
|
|
353
|
+
step)
|
|
354
|
+
node "$SCRIPT_DIR/flow-workflow-steps.js" "${@:2}"
|
|
355
|
+
;;
|
|
356
|
+
browser-suggest)
|
|
357
|
+
node "$SCRIPT_DIR/flow-browser-suggest.js" "${@:2}"
|
|
358
|
+
;;
|
|
359
|
+
run-trace)
|
|
360
|
+
node "$SCRIPT_DIR/flow-run-trace.js" "${@:2}"
|
|
361
|
+
;;
|
|
362
|
+
history)
|
|
363
|
+
node "$SCRIPT_DIR/flow-run-trace.js" list "${@:2}"
|
|
364
|
+
;;
|
|
365
|
+
inspect)
|
|
366
|
+
node "$SCRIPT_DIR/flow-run-trace.js" inspect "${@:2}"
|
|
367
|
+
;;
|
|
368
|
+
diff)
|
|
369
|
+
node "$SCRIPT_DIR/flow-diff.js" "${@:2}"
|
|
370
|
+
;;
|
|
371
|
+
checkpoint)
|
|
372
|
+
node "$SCRIPT_DIR/flow-checkpoint.js" "${@:2}"
|
|
373
|
+
;;
|
|
374
|
+
standup)
|
|
375
|
+
"$SCRIPT_DIR/flow-standup" "${@:2}"
|
|
376
|
+
;;
|
|
377
|
+
morning)
|
|
378
|
+
node "$SCRIPT_DIR/flow-morning.js" "${@:2}"
|
|
379
|
+
;;
|
|
380
|
+
session-end)
|
|
381
|
+
node "$SCRIPT_DIR/flow-session-end.js" "${@:2}"
|
|
382
|
+
;;
|
|
383
|
+
init)
|
|
384
|
+
"$SCRIPT_DIR/flow-init" "${@:2}"
|
|
385
|
+
;;
|
|
386
|
+
install)
|
|
387
|
+
"$SCRIPT_DIR/flow-install" "${@:2}"
|
|
388
|
+
;;
|
|
389
|
+
onboard)
|
|
390
|
+
"$SCRIPT_DIR/flow-onboard" "${@:2}"
|
|
391
|
+
;;
|
|
392
|
+
migrate)
|
|
393
|
+
node "$SCRIPT_DIR/flow-migrate.js" "${@:2}"
|
|
394
|
+
;;
|
|
395
|
+
update)
|
|
396
|
+
"$SCRIPT_DIR/flow-update" "${@:2}"
|
|
397
|
+
;;
|
|
398
|
+
setup-hooks)
|
|
399
|
+
"$SCRIPT_DIR/flow-setup-hooks" "${@:2}"
|
|
400
|
+
;;
|
|
401
|
+
hooks)
|
|
402
|
+
node "$SCRIPT_DIR/flow-hooks.js" "${@:2}"
|
|
403
|
+
;;
|
|
404
|
+
update-map)
|
|
405
|
+
"$SCRIPT_DIR/flow-update-map" "${@:2}"
|
|
406
|
+
;;
|
|
407
|
+
map-index)
|
|
408
|
+
"$SCRIPT_DIR/flow-map-index" "${@:2}"
|
|
409
|
+
;;
|
|
410
|
+
map-sync)
|
|
411
|
+
"$SCRIPT_DIR/flow-map-sync" "${@:2}"
|
|
412
|
+
;;
|
|
413
|
+
skill-learn)
|
|
414
|
+
node "$SCRIPT_DIR/flow-skill-learn.js" "${@:2}"
|
|
415
|
+
;;
|
|
416
|
+
correct)
|
|
417
|
+
node "$SCRIPT_DIR/flow-correct.js" "${@:2}"
|
|
418
|
+
;;
|
|
419
|
+
aggregate)
|
|
420
|
+
node "$SCRIPT_DIR/flow-aggregate.js" "${@:2}"
|
|
421
|
+
;;
|
|
422
|
+
skill-create)
|
|
423
|
+
node "$SCRIPT_DIR/flow-skill-create.js" "${@:2}"
|
|
424
|
+
;;
|
|
425
|
+
trace)
|
|
426
|
+
"$SCRIPT_DIR/flow-trace" "${@:2}"
|
|
427
|
+
;;
|
|
428
|
+
search)
|
|
429
|
+
"$SCRIPT_DIR/flow-search" "${@:2}"
|
|
430
|
+
;;
|
|
431
|
+
context)
|
|
432
|
+
"$SCRIPT_DIR/flow-context" "${@:2}"
|
|
433
|
+
;;
|
|
434
|
+
links)
|
|
435
|
+
node "$SCRIPT_DIR/flow-links.js" "${@:2}"
|
|
436
|
+
;;
|
|
437
|
+
context-init)
|
|
438
|
+
node "$SCRIPT_DIR/flow-context-init.js" "${@:2}"
|
|
439
|
+
;;
|
|
440
|
+
export-profile)
|
|
441
|
+
"$SCRIPT_DIR/flow-export-profile" "${@:2}"
|
|
442
|
+
;;
|
|
443
|
+
import-profile)
|
|
444
|
+
"$SCRIPT_DIR/flow-import-profile" "${@:2}"
|
|
445
|
+
;;
|
|
446
|
+
changelog)
|
|
447
|
+
"$SCRIPT_DIR/flow-changelog" "${@:2}"
|
|
448
|
+
;;
|
|
449
|
+
archive)
|
|
450
|
+
"$SCRIPT_DIR/flow-archive" "${@:2}"
|
|
451
|
+
;;
|
|
452
|
+
watch)
|
|
453
|
+
"$SCRIPT_DIR/flow-watch" "${@:2}"
|
|
454
|
+
;;
|
|
455
|
+
parallel)
|
|
456
|
+
case "${2:-config}" in
|
|
457
|
+
config)
|
|
458
|
+
node "$SCRIPT_DIR/flow-parallel.js" config
|
|
459
|
+
;;
|
|
460
|
+
check)
|
|
461
|
+
node "$SCRIPT_DIR/flow-parallel.js" check
|
|
462
|
+
;;
|
|
463
|
+
analyze)
|
|
464
|
+
node "$SCRIPT_DIR/flow-parallel-detector.js" analyze
|
|
465
|
+
;;
|
|
466
|
+
suggest)
|
|
467
|
+
node "$SCRIPT_DIR/flow-parallel-detector.js" suggest
|
|
468
|
+
;;
|
|
469
|
+
enable)
|
|
470
|
+
node "$SCRIPT_DIR/flow-config-set.js" parallel.enabled true
|
|
471
|
+
;;
|
|
472
|
+
disable)
|
|
473
|
+
node "$SCRIPT_DIR/flow-config-set.js" parallel.enabled false
|
|
474
|
+
;;
|
|
475
|
+
auto-approve)
|
|
476
|
+
node "$SCRIPT_DIR/flow-config-set.js" parallel.autoApprove true
|
|
477
|
+
;;
|
|
478
|
+
*)
|
|
479
|
+
echo "Usage: flow parallel [config|check|analyze|suggest|enable|disable|auto-approve]"
|
|
480
|
+
;;
|
|
481
|
+
esac
|
|
482
|
+
;;
|
|
483
|
+
loop)
|
|
484
|
+
case "${2:-status}" in
|
|
485
|
+
status)
|
|
486
|
+
node "$SCRIPT_DIR/flow-loop-enforcer.js" status
|
|
487
|
+
;;
|
|
488
|
+
stats)
|
|
489
|
+
node "$SCRIPT_DIR/flow-loop-enforcer.js" stats
|
|
490
|
+
;;
|
|
491
|
+
can-exit)
|
|
492
|
+
node "$SCRIPT_DIR/flow-loop-enforcer.js" can-exit
|
|
493
|
+
;;
|
|
494
|
+
enable)
|
|
495
|
+
node "$SCRIPT_DIR/flow-config-set.js" loops.enforced true
|
|
496
|
+
echo "Loop enforcement enabled"
|
|
497
|
+
;;
|
|
498
|
+
disable)
|
|
499
|
+
node "$SCRIPT_DIR/flow-config-set.js" loops.enforced false
|
|
500
|
+
;;
|
|
501
|
+
*)
|
|
502
|
+
echo "Usage: flow loop [status|stats|can-exit|enable|disable]"
|
|
503
|
+
;;
|
|
504
|
+
esac
|
|
505
|
+
;;
|
|
506
|
+
queue)
|
|
507
|
+
node "$SCRIPT_DIR/flow-queue.js" "${@:2}"
|
|
508
|
+
;;
|
|
509
|
+
suspend)
|
|
510
|
+
node "$SCRIPT_DIR/flow-suspend.js" "${@:2}"
|
|
511
|
+
;;
|
|
512
|
+
resume)
|
|
513
|
+
node "$SCRIPT_DIR/flow-resume.js" "${@:2}"
|
|
514
|
+
;;
|
|
515
|
+
session)
|
|
516
|
+
case "${2:-status}" in
|
|
517
|
+
status)
|
|
518
|
+
node "$SCRIPT_DIR/flow-durable-session.js" status
|
|
519
|
+
;;
|
|
520
|
+
stats)
|
|
521
|
+
node "$SCRIPT_DIR/flow-durable-session.js" stats
|
|
522
|
+
;;
|
|
523
|
+
clear)
|
|
524
|
+
node "$SCRIPT_DIR/flow-durable-session.js" clear
|
|
525
|
+
;;
|
|
526
|
+
*)
|
|
527
|
+
echo "Usage: flow session [status|stats|clear]"
|
|
528
|
+
;;
|
|
529
|
+
esac
|
|
530
|
+
;;
|
|
531
|
+
skill)
|
|
532
|
+
case "${2:-list}" in
|
|
533
|
+
detect)
|
|
534
|
+
node "$SCRIPT_DIR/flow-skill-creator.js" detect
|
|
535
|
+
;;
|
|
536
|
+
list)
|
|
537
|
+
node "$SCRIPT_DIR/flow-skill-creator.js" list
|
|
538
|
+
;;
|
|
539
|
+
create)
|
|
540
|
+
if [ -z "$3" ]; then
|
|
541
|
+
echo "Usage: flow skill create <framework>"
|
|
542
|
+
else
|
|
543
|
+
node "$SCRIPT_DIR/flow-skill-creator.js" create "$3"
|
|
544
|
+
fi
|
|
545
|
+
;;
|
|
546
|
+
add)
|
|
547
|
+
# Install skill from registry
|
|
548
|
+
node -e "require('$PROJECT_ROOT/lib/skill-registry').skill(['add', '$3', ...process.argv.slice(2)])" -- "${@:4}"
|
|
549
|
+
;;
|
|
550
|
+
remove)
|
|
551
|
+
# Remove installed skill
|
|
552
|
+
node -e "require('$PROJECT_ROOT/lib/skill-registry').skill(['remove', '$3'])"
|
|
553
|
+
;;
|
|
554
|
+
update)
|
|
555
|
+
# Update skills
|
|
556
|
+
node -e "require('$PROJECT_ROOT/lib/skill-registry').skill(['update', '$3'])"
|
|
557
|
+
;;
|
|
558
|
+
info)
|
|
559
|
+
# Show skill info
|
|
560
|
+
node -e "require('$PROJECT_ROOT/lib/skill-registry').skill(['info', '$3'])"
|
|
561
|
+
;;
|
|
562
|
+
registry)
|
|
563
|
+
# List skills from registry
|
|
564
|
+
node -e "require('$PROJECT_ROOT/lib/skill-registry').skill(['list'])"
|
|
565
|
+
;;
|
|
566
|
+
*)
|
|
567
|
+
echo "Usage: flow skill [detect|list|create|add|remove|update|info|registry]"
|
|
568
|
+
echo ""
|
|
569
|
+
echo "Local Skills:"
|
|
570
|
+
echo " detect Detect frameworks in project"
|
|
571
|
+
echo " list List installed skills"
|
|
572
|
+
echo " create <name> Create a new skill"
|
|
573
|
+
echo ""
|
|
574
|
+
echo "Registry Skills:"
|
|
575
|
+
echo " registry List available skills from registry"
|
|
576
|
+
echo " add <name> Install skill from registry"
|
|
577
|
+
echo " remove <name> Remove installed skill"
|
|
578
|
+
echo " update [name] Update skill(s)"
|
|
579
|
+
echo " info <name> Show skill details"
|
|
580
|
+
;;
|
|
581
|
+
esac
|
|
582
|
+
;;
|
|
583
|
+
worktree)
|
|
584
|
+
case "${2:-list}" in
|
|
585
|
+
enable)
|
|
586
|
+
node "$SCRIPT_DIR/flow-config-set.js" worktree.enabled true
|
|
587
|
+
echo "Tasks will now run in isolated git worktrees for safe parallel execution"
|
|
588
|
+
;;
|
|
589
|
+
disable)
|
|
590
|
+
node "$SCRIPT_DIR/flow-config-set.js" worktree.enabled false
|
|
591
|
+
;;
|
|
592
|
+
list)
|
|
593
|
+
node "$SCRIPT_DIR/flow-worktree.js" list
|
|
594
|
+
;;
|
|
595
|
+
cleanup)
|
|
596
|
+
node "$SCRIPT_DIR/flow-worktree.js" cleanup
|
|
597
|
+
;;
|
|
598
|
+
status)
|
|
599
|
+
node "$SCRIPT_DIR/flow-config-set.js" worktree
|
|
600
|
+
;;
|
|
601
|
+
*)
|
|
602
|
+
echo "Usage: flow worktree [enable|disable|list|cleanup|status]"
|
|
603
|
+
;;
|
|
604
|
+
esac
|
|
605
|
+
;;
|
|
606
|
+
hybrid)
|
|
607
|
+
case "${2:-status}" in
|
|
608
|
+
setup)
|
|
609
|
+
echo "🔧 Setting up Hybrid Mode..."
|
|
610
|
+
echo ""
|
|
611
|
+
echo "Step 1: Generating project templates..."
|
|
612
|
+
node "$SCRIPT_DIR/flow-templates.js" generate
|
|
613
|
+
echo ""
|
|
614
|
+
echo "Step 2: Configuring local LLM..."
|
|
615
|
+
node "$SCRIPT_DIR/flow-hybrid-interactive.js"
|
|
616
|
+
;;
|
|
617
|
+
enable)
|
|
618
|
+
node "$SCRIPT_DIR/flow-hybrid-interactive.js"
|
|
619
|
+
;;
|
|
620
|
+
disable)
|
|
621
|
+
node "$SCRIPT_DIR/flow-config-set.js" hybrid.enabled false
|
|
622
|
+
;;
|
|
623
|
+
status)
|
|
624
|
+
node "$SCRIPT_DIR/flow-config-set.js" hybrid
|
|
625
|
+
;;
|
|
626
|
+
execute)
|
|
627
|
+
node "$SCRIPT_DIR/flow-orchestrate.js" "$3"
|
|
628
|
+
;;
|
|
629
|
+
rollback)
|
|
630
|
+
node "$SCRIPT_DIR/flow-orchestrate.js" --rollback
|
|
631
|
+
;;
|
|
632
|
+
test)
|
|
633
|
+
node "$SCRIPT_DIR/flow-hybrid-test.js"
|
|
634
|
+
;;
|
|
635
|
+
learning)
|
|
636
|
+
case "${3:-stats}" in
|
|
637
|
+
stats)
|
|
638
|
+
node "$SCRIPT_DIR/flow-adaptive-learning.js" stats
|
|
639
|
+
;;
|
|
640
|
+
export)
|
|
641
|
+
node "$SCRIPT_DIR/flow-adaptive-learning.js" export
|
|
642
|
+
;;
|
|
643
|
+
test)
|
|
644
|
+
node "$SCRIPT_DIR/flow-adaptive-learning.js" test
|
|
645
|
+
;;
|
|
646
|
+
contribute)
|
|
647
|
+
shift 3
|
|
648
|
+
node "$SCRIPT_DIR/flow-adaptive-learning.js" contribute "$@"
|
|
649
|
+
;;
|
|
650
|
+
effectiveness)
|
|
651
|
+
node "$SCRIPT_DIR/flow-adaptive-learning.js" effectiveness
|
|
652
|
+
;;
|
|
653
|
+
*)
|
|
654
|
+
echo "Usage: flow hybrid learning [stats|export|test|contribute|effectiveness]"
|
|
655
|
+
echo ""
|
|
656
|
+
echo "Commands:"
|
|
657
|
+
echo " stats Show learning statistics (default)"
|
|
658
|
+
echo " export Export learnings for community contribution"
|
|
659
|
+
echo " test Test failure analysis with sample errors"
|
|
660
|
+
echo " contribute Create/submit PR with learnings"
|
|
661
|
+
echo " effectiveness Show strategy success rates per model"
|
|
662
|
+
echo ""
|
|
663
|
+
echo "Contribute options:"
|
|
664
|
+
echo " --auto-pr Create PR automatically"
|
|
665
|
+
echo " --fork=user/repo Your fork (required for auto-pr)"
|
|
666
|
+
;;
|
|
667
|
+
esac
|
|
668
|
+
;;
|
|
669
|
+
*)
|
|
670
|
+
echo "Usage: flow hybrid [enable|disable|status|execute|rollback|test|learning]"
|
|
671
|
+
;;
|
|
672
|
+
esac
|
|
673
|
+
;;
|
|
674
|
+
figma)
|
|
675
|
+
case "${2:-help}" in
|
|
676
|
+
scan)
|
|
677
|
+
node "$SCRIPT_DIR/flow-figma-index.js" scan
|
|
678
|
+
;;
|
|
679
|
+
show)
|
|
680
|
+
node "$SCRIPT_DIR/flow-figma-index.js" show "$3"
|
|
681
|
+
;;
|
|
682
|
+
export)
|
|
683
|
+
node "$SCRIPT_DIR/flow-figma-index.js" export
|
|
684
|
+
;;
|
|
685
|
+
extract)
|
|
686
|
+
if [ -z "$3" ]; then
|
|
687
|
+
node "$SCRIPT_DIR/flow-figma-extract.js"
|
|
688
|
+
else
|
|
689
|
+
node "$SCRIPT_DIR/flow-figma-extract.js" "$3"
|
|
690
|
+
fi
|
|
691
|
+
;;
|
|
692
|
+
match)
|
|
693
|
+
if [ -z "$3" ]; then
|
|
694
|
+
node "$SCRIPT_DIR/flow-figma-match.js"
|
|
695
|
+
else
|
|
696
|
+
node "$SCRIPT_DIR/flow-figma-match.js" "$3"
|
|
697
|
+
fi
|
|
698
|
+
;;
|
|
699
|
+
confirm)
|
|
700
|
+
if [ -z "$3" ]; then
|
|
701
|
+
node "$SCRIPT_DIR/flow-figma-confirm.js"
|
|
702
|
+
else
|
|
703
|
+
node "$SCRIPT_DIR/flow-figma-confirm.js" "$3" "${@:4}"
|
|
704
|
+
fi
|
|
705
|
+
;;
|
|
706
|
+
generate)
|
|
707
|
+
node "$SCRIPT_DIR/flow-figma-generate.js" "$3"
|
|
708
|
+
;;
|
|
709
|
+
server)
|
|
710
|
+
if [ -z "$3" ]; then
|
|
711
|
+
node "$SCRIPT_DIR/flow-figma-mcp-server.js" --http
|
|
712
|
+
else
|
|
713
|
+
node "$SCRIPT_DIR/flow-figma-mcp-server.js" --http "$3"
|
|
714
|
+
fi
|
|
715
|
+
;;
|
|
716
|
+
analyze)
|
|
717
|
+
# Full pipeline: extract + match
|
|
718
|
+
if [ -z "$3" ]; then
|
|
719
|
+
echo "Usage: flow figma analyze <figma-data.json>"
|
|
720
|
+
exit 1
|
|
721
|
+
fi
|
|
722
|
+
node "$SCRIPT_DIR/flow-figma-extract.js" "$3" | \
|
|
723
|
+
node "$SCRIPT_DIR/flow-figma-match.js" --stdin
|
|
724
|
+
;;
|
|
725
|
+
*)
|
|
726
|
+
echo ""
|
|
727
|
+
echo "Figma Component Analyzer:"
|
|
728
|
+
echo " figma scan Scan codebase for components"
|
|
729
|
+
echo " figma show [name] Show component details (or list all)"
|
|
730
|
+
echo " figma extract <file> Extract from Figma MCP data"
|
|
731
|
+
echo " figma match <file> Match against registry"
|
|
732
|
+
echo " figma analyze <file> Extract + match (full pipeline)"
|
|
733
|
+
echo " figma confirm <file> Interactive confirmation"
|
|
734
|
+
echo " figma generate [file] Generate code from decisions"
|
|
735
|
+
echo " figma server [port] Start MCP server (default: 3847)"
|
|
736
|
+
echo ""
|
|
737
|
+
;;
|
|
738
|
+
esac
|
|
739
|
+
;;
|
|
740
|
+
templates)
|
|
741
|
+
node "$SCRIPT_DIR/flow-templates.js" "${2:-generate}"
|
|
742
|
+
;;
|
|
743
|
+
providers)
|
|
744
|
+
node "$SCRIPT_DIR/flow-providers.js" "${@:2}"
|
|
745
|
+
;;
|
|
746
|
+
bridge)
|
|
747
|
+
case "${2:-status}" in
|
|
748
|
+
sync)
|
|
749
|
+
node "$SCRIPT_DIR/flow-bridge.js" sync "${@:3}"
|
|
750
|
+
;;
|
|
751
|
+
status)
|
|
752
|
+
node "$SCRIPT_DIR/flow-bridge.js" status
|
|
753
|
+
;;
|
|
754
|
+
list)
|
|
755
|
+
node "$SCRIPT_DIR/flow-bridge.js" list
|
|
756
|
+
;;
|
|
757
|
+
*)
|
|
758
|
+
echo "Usage: flow bridge [sync|status|list]"
|
|
759
|
+
echo ""
|
|
760
|
+
echo "Commands:"
|
|
761
|
+
echo " sync Sync .workflow/ config to CLI-specific folder"
|
|
762
|
+
echo " status Show current bridge configuration"
|
|
763
|
+
echo " list List available CLI bridges"
|
|
764
|
+
;;
|
|
765
|
+
esac
|
|
766
|
+
;;
|
|
767
|
+
channel)
|
|
768
|
+
# Release channel management
|
|
769
|
+
node -e "require('$PROJECT_ROOT/lib/release-channel').channel(process.argv.slice(2))" -- "${@:2}"
|
|
770
|
+
;;
|
|
771
|
+
workflow)
|
|
772
|
+
node "$SCRIPT_DIR/flow-workflow.js" "${@:2}"
|
|
773
|
+
;;
|
|
774
|
+
metrics)
|
|
775
|
+
node "$SCRIPT_DIR/flow-metrics.js" "${@:2}"
|
|
776
|
+
;;
|
|
777
|
+
insights)
|
|
778
|
+
node "$SCRIPT_DIR/flow-project-analyzer.js" --insights "${@:2}"
|
|
779
|
+
;;
|
|
780
|
+
auto-context)
|
|
781
|
+
node "$SCRIPT_DIR/flow-auto-context.js" "${@:2}"
|
|
782
|
+
;;
|
|
783
|
+
model-adapter)
|
|
784
|
+
node "$SCRIPT_DIR/flow-model-adapter.js" "${@:2}"
|
|
785
|
+
;;
|
|
786
|
+
models)
|
|
787
|
+
node "$SCRIPT_DIR/flow-models.js" "${@:2}"
|
|
788
|
+
;;
|
|
789
|
+
route|model-route)
|
|
790
|
+
# Phase 3: Enhanced task routing
|
|
791
|
+
node "$SCRIPT_DIR/flow-model-router.js" "${@:2}"
|
|
792
|
+
;;
|
|
793
|
+
cascade)
|
|
794
|
+
# Phase 3: Cascade fallback system
|
|
795
|
+
node "$SCRIPT_DIR/flow-cascade.js" "${@:2}"
|
|
796
|
+
;;
|
|
797
|
+
learning)
|
|
798
|
+
# Phase 3: Tiered learning system
|
|
799
|
+
node "$SCRIPT_DIR/flow-tiered-learning.js" "${@:2}"
|
|
800
|
+
;;
|
|
801
|
+
dispatch)
|
|
802
|
+
# Phase 4: Parallel dispatch system
|
|
803
|
+
node "$SCRIPT_DIR/flow-parallel-dispatch.js" "${@:2}"
|
|
804
|
+
;;
|
|
805
|
+
ctx-score)
|
|
806
|
+
# Phase 4: Context priority scoring
|
|
807
|
+
node "$SCRIPT_DIR/flow-context-scoring.js" "${@:2}"
|
|
808
|
+
;;
|
|
809
|
+
confidence)
|
|
810
|
+
# Phase 4: Quality gate confidence
|
|
811
|
+
node "$SCRIPT_DIR/flow-gate-confidence.js" "${@:2}"
|
|
812
|
+
;;
|
|
813
|
+
multi-approach)
|
|
814
|
+
node "$SCRIPT_DIR/flow-multi-approach.js" "${@:2}"
|
|
815
|
+
;;
|
|
816
|
+
complexity)
|
|
817
|
+
node "$SCRIPT_DIR/flow-complexity.js" "${@:2}"
|
|
818
|
+
;;
|
|
819
|
+
memory)
|
|
820
|
+
case "${2:-stats}" in
|
|
821
|
+
search)
|
|
822
|
+
# Search facts in memory - requires MCP server or direct DB access
|
|
823
|
+
echo "Memory search requires MCP server running."
|
|
824
|
+
echo "Start server with: flow memory-server"
|
|
825
|
+
echo "Or use the MCP client to call recall_facts tool."
|
|
826
|
+
;;
|
|
827
|
+
stats)
|
|
828
|
+
# Show memory statistics
|
|
829
|
+
if [ -f "$PROJECT_ROOT/.workflow/memory/local.db" ]; then
|
|
830
|
+
echo "Memory Statistics:"
|
|
831
|
+
sqlite3 "$PROJECT_ROOT/.workflow/memory/local.db" "SELECT 'Facts: ' || COUNT(*) FROM facts; SELECT 'Proposals: ' || COUNT(*) FROM proposals; SELECT 'PRD Chunks: ' || COUNT(*) FROM prd_chunks;" 2>/dev/null || echo " Database not initialized. Run memory-server first."
|
|
832
|
+
else
|
|
833
|
+
echo "Memory database not found. Start MCP server to initialize."
|
|
834
|
+
fi
|
|
835
|
+
;;
|
|
836
|
+
*)
|
|
837
|
+
echo "Usage: flow memory [search|stats]"
|
|
838
|
+
;;
|
|
839
|
+
esac
|
|
840
|
+
;;
|
|
841
|
+
memory-server)
|
|
842
|
+
echo "Starting MCP Memory Server..."
|
|
843
|
+
node "$PROJECT_ROOT/mcp-memory-server/index.js"
|
|
844
|
+
;;
|
|
845
|
+
entropy)
|
|
846
|
+
node "$SCRIPT_DIR/flow-entropy-monitor.js" "${@:2}"
|
|
847
|
+
;;
|
|
848
|
+
compact-memory)
|
|
849
|
+
node "$SCRIPT_DIR/flow-memory-compactor.js" "${@:2}"
|
|
850
|
+
;;
|
|
851
|
+
memory-sync)
|
|
852
|
+
node "$SCRIPT_DIR/flow-memory-sync.js" "${@:2}"
|
|
853
|
+
;;
|
|
854
|
+
knowledge-sync)
|
|
855
|
+
node "$SCRIPT_DIR/flow-knowledge-sync.js" "${@:2}"
|
|
856
|
+
;;
|
|
857
|
+
knowledge-route)
|
|
858
|
+
case "${2:-}" in
|
|
859
|
+
detect|"")
|
|
860
|
+
if [ -z "$3" ]; then
|
|
861
|
+
echo "Usage: flow knowledge-route detect \"<text>\""
|
|
862
|
+
else
|
|
863
|
+
node "$SCRIPT_DIR/flow-knowledge-router.js" detect "${@:3}"
|
|
864
|
+
fi
|
|
865
|
+
;;
|
|
866
|
+
store)
|
|
867
|
+
if [ -z "$3" ] || [ -z "$4" ]; then
|
|
868
|
+
echo "Usage: flow knowledge-route store \"<text>\" <route-type>"
|
|
869
|
+
echo "Route types: model-specific, skill:<name>, project, team"
|
|
870
|
+
else
|
|
871
|
+
node "$SCRIPT_DIR/flow-knowledge-router.js" store "${@:3}"
|
|
872
|
+
fi
|
|
873
|
+
;;
|
|
874
|
+
show)
|
|
875
|
+
if [ -z "$3" ]; then
|
|
876
|
+
echo "Usage: flow knowledge-route show \"<text>\""
|
|
877
|
+
else
|
|
878
|
+
node "$SCRIPT_DIR/flow-knowledge-router.js" show "${@:3}"
|
|
879
|
+
fi
|
|
880
|
+
;;
|
|
881
|
+
routes)
|
|
882
|
+
node "$SCRIPT_DIR/flow-knowledge-router.js" routes
|
|
883
|
+
;;
|
|
884
|
+
*)
|
|
885
|
+
echo "Usage: flow knowledge-route [detect|store|show|routes]"
|
|
886
|
+
;;
|
|
887
|
+
esac
|
|
888
|
+
;;
|
|
889
|
+
log-manager)
|
|
890
|
+
node "$SCRIPT_DIR/flow-log-manager.js" "${@:2}"
|
|
891
|
+
;;
|
|
892
|
+
team)
|
|
893
|
+
case "${2:-status}" in
|
|
894
|
+
dashboard)
|
|
895
|
+
# Phase 6: Team Observability Dashboard
|
|
896
|
+
node "$SCRIPT_DIR/flow-team-dashboard.js" "${@:3}"
|
|
897
|
+
;;
|
|
898
|
+
sync-status)
|
|
899
|
+
node "$SCRIPT_DIR/flow-team-sync.js" status
|
|
900
|
+
;;
|
|
901
|
+
sync-init)
|
|
902
|
+
if [ -z "$3" ]; then
|
|
903
|
+
echo "Usage: flow team sync-init <team-id>"
|
|
904
|
+
else
|
|
905
|
+
node "$SCRIPT_DIR/flow-team-sync.js" init "$3"
|
|
906
|
+
fi
|
|
907
|
+
;;
|
|
908
|
+
sync-payload)
|
|
909
|
+
node "$SCRIPT_DIR/flow-team-sync.js" payload
|
|
910
|
+
;;
|
|
911
|
+
project-id)
|
|
912
|
+
node "$SCRIPT_DIR/flow-team-sync.js" project-id
|
|
913
|
+
;;
|
|
914
|
+
*)
|
|
915
|
+
# Delegate to original team handler for other commands
|
|
916
|
+
node "$SCRIPT_DIR/flow-team.js" "${@:2}"
|
|
917
|
+
;;
|
|
918
|
+
esac
|
|
919
|
+
;;
|
|
920
|
+
prd)
|
|
921
|
+
node "$SCRIPT_DIR/flow-prd-manager.js" "${@:2}"
|
|
922
|
+
;;
|
|
923
|
+
jira)
|
|
924
|
+
# Phase 6: Jira Integration
|
|
925
|
+
node "$SCRIPT_DIR/flow-jira-integration.js" "${@:2}"
|
|
926
|
+
;;
|
|
927
|
+
linear)
|
|
928
|
+
# Phase 6: Linear Integration
|
|
929
|
+
node "$SCRIPT_DIR/flow-linear-integration.js" "${@:2}"
|
|
930
|
+
;;
|
|
931
|
+
external-tasks)
|
|
932
|
+
# Phase 6: List tasks from all integrations
|
|
933
|
+
echo "Fetching from configured integrations..."
|
|
934
|
+
node "$SCRIPT_DIR/flow-jira-integration.js" list 2>/dev/null || true
|
|
935
|
+
node "$SCRIPT_DIR/flow-linear-integration.js" list 2>/dev/null || true
|
|
936
|
+
;;
|
|
937
|
+
sync-daemon)
|
|
938
|
+
# Phase 6: Background Sync Daemon
|
|
939
|
+
node "$SCRIPT_DIR/flow-sync-daemon.js" "${@:2}"
|
|
940
|
+
;;
|
|
941
|
+
voice-input|voice)
|
|
942
|
+
node "$SCRIPT_DIR/flow-voice-input.js" "${@:2}"
|
|
943
|
+
;;
|
|
944
|
+
transcript-digest|digest)
|
|
945
|
+
node "$SCRIPT_DIR/flow-transcript-digest.js" "${@:2}"
|
|
946
|
+
;;
|
|
947
|
+
version|--version|-v)
|
|
948
|
+
show_version
|
|
949
|
+
;;
|
|
950
|
+
help|--help|-h)
|
|
951
|
+
case "${2:-}" in
|
|
952
|
+
--quick|-q)
|
|
953
|
+
show_quick_help
|
|
954
|
+
;;
|
|
955
|
+
"")
|
|
956
|
+
show_help
|
|
957
|
+
;;
|
|
958
|
+
*)
|
|
959
|
+
# Show help for specific command
|
|
960
|
+
echo "Help for: $2"
|
|
961
|
+
echo ""
|
|
962
|
+
case "$2" in
|
|
963
|
+
ready) echo "Show tasks ready to work on. Reads from .workflow/state/ready.json" ;;
|
|
964
|
+
start) echo "Start working on a task. Usage: flow start TASK-XXX" ;;
|
|
965
|
+
done) echo "Complete a task, run quality gates. Usage: flow done TASK-XXX" ;;
|
|
966
|
+
status) echo "Show project overview: tasks, git status, recent activity" ;;
|
|
967
|
+
health) echo "Check workflow health: validate config, check files" ;;
|
|
968
|
+
story) echo "Create detailed story with acceptance criteria. Usage: flow story \"title\"" ;;
|
|
969
|
+
hybrid) echo "Manage hybrid mode. Subcommands: enable, disable, status, execute, test, learning" ;;
|
|
970
|
+
parallel) echo "Manage parallel execution. Subcommands: config, check, enable, disable" ;;
|
|
971
|
+
worktree) echo "Manage worktree isolation. Subcommands: enable, disable, list, cleanup" ;;
|
|
972
|
+
voice-input|voice) echo "Voice-to-transcript input. Subcommands: setup, status, test, record" ;;
|
|
973
|
+
transcript-digest|digest) echo "Transcript digestion. Subcommands: status, new, check, topics, save-topics" ;;
|
|
974
|
+
*) echo "No detailed help for '$2'. Run 'flow help' for all commands." ;;
|
|
975
|
+
esac
|
|
976
|
+
;;
|
|
977
|
+
esac
|
|
978
|
+
;;
|
|
979
|
+
*)
|
|
980
|
+
show_quick_help
|
|
981
|
+
echo ""
|
|
982
|
+
echo "Unknown command: ${1:-}"
|
|
983
|
+
exit 1
|
|
984
|
+
;;
|
|
985
|
+
esac
|