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.
Files changed (221) hide show
  1. package/.workflow/agents/reviewer.md +81 -0
  2. package/.workflow/agents/security.md +94 -0
  3. package/.workflow/agents/story-writer.md +58 -0
  4. package/.workflow/bridges/base-bridge.js +395 -0
  5. package/.workflow/bridges/claude-bridge.js +434 -0
  6. package/.workflow/bridges/index.js +130 -0
  7. package/.workflow/lib/assumption-detector.js +481 -0
  8. package/.workflow/lib/config-substitution.js +371 -0
  9. package/.workflow/lib/failure-categories.js +478 -0
  10. package/.workflow/state/app-map.md.template +15 -0
  11. package/.workflow/state/architecture.md.template +24 -0
  12. package/.workflow/state/component-index.json.template +5 -0
  13. package/.workflow/state/decisions.md.template +15 -0
  14. package/.workflow/state/feedback-patterns.md.template +9 -0
  15. package/.workflow/state/knowledge-sync.json.template +6 -0
  16. package/.workflow/state/progress.md.template +14 -0
  17. package/.workflow/state/ready.json.template +7 -0
  18. package/.workflow/state/request-log.md.template +14 -0
  19. package/.workflow/state/session-state.json.template +11 -0
  20. package/.workflow/state/stack.md.template +33 -0
  21. package/.workflow/state/testing.md.template +36 -0
  22. package/.workflow/templates/claude-md.hbs +257 -0
  23. package/.workflow/templates/correction-report.md +67 -0
  24. package/.workflow/templates/gemini-md.hbs +52 -0
  25. package/README.md +1802 -0
  26. package/bin/flow +205 -0
  27. package/lib/index.js +33 -0
  28. package/lib/installer.js +467 -0
  29. package/lib/release-channel.js +269 -0
  30. package/lib/skill-registry.js +526 -0
  31. package/lib/upgrader.js +401 -0
  32. package/lib/utils.js +305 -0
  33. package/package.json +64 -0
  34. package/scripts/flow +985 -0
  35. package/scripts/flow-adaptive-learning.js +1259 -0
  36. package/scripts/flow-aggregate.js +488 -0
  37. package/scripts/flow-archive +133 -0
  38. package/scripts/flow-auto-context.js +1015 -0
  39. package/scripts/flow-auto-learn.js +615 -0
  40. package/scripts/flow-bridge.js +223 -0
  41. package/scripts/flow-browser-suggest.js +316 -0
  42. package/scripts/flow-bug.js +247 -0
  43. package/scripts/flow-cascade.js +711 -0
  44. package/scripts/flow-changelog +85 -0
  45. package/scripts/flow-checkpoint.js +483 -0
  46. package/scripts/flow-cli.js +403 -0
  47. package/scripts/flow-code-intelligence.js +760 -0
  48. package/scripts/flow-complexity.js +502 -0
  49. package/scripts/flow-config-set.js +152 -0
  50. package/scripts/flow-constants.js +157 -0
  51. package/scripts/flow-context +152 -0
  52. package/scripts/flow-context-init.js +482 -0
  53. package/scripts/flow-context-monitor.js +384 -0
  54. package/scripts/flow-context-scoring.js +886 -0
  55. package/scripts/flow-correct.js +458 -0
  56. package/scripts/flow-damage-control.js +985 -0
  57. package/scripts/flow-deps +101 -0
  58. package/scripts/flow-diff.js +700 -0
  59. package/scripts/flow-done +151 -0
  60. package/scripts/flow-done.js +489 -0
  61. package/scripts/flow-durable-session.js +1541 -0
  62. package/scripts/flow-entropy-monitor.js +345 -0
  63. package/scripts/flow-export-profile +349 -0
  64. package/scripts/flow-export-scanner.js +1046 -0
  65. package/scripts/flow-figma-confirm.js +400 -0
  66. package/scripts/flow-figma-extract.js +496 -0
  67. package/scripts/flow-figma-generate.js +683 -0
  68. package/scripts/flow-figma-index.js +909 -0
  69. package/scripts/flow-figma-match.js +617 -0
  70. package/scripts/flow-figma-mcp-server.js +518 -0
  71. package/scripts/flow-figma-pipeline.js +414 -0
  72. package/scripts/flow-file-ops.js +301 -0
  73. package/scripts/flow-gate-confidence.js +825 -0
  74. package/scripts/flow-guided-edit.js +659 -0
  75. package/scripts/flow-health +185 -0
  76. package/scripts/flow-health.js +413 -0
  77. package/scripts/flow-hooks.js +556 -0
  78. package/scripts/flow-http-client.js +249 -0
  79. package/scripts/flow-hybrid-detect.js +167 -0
  80. package/scripts/flow-hybrid-interactive.js +591 -0
  81. package/scripts/flow-hybrid-test.js +152 -0
  82. package/scripts/flow-import-profile +439 -0
  83. package/scripts/flow-init +253 -0
  84. package/scripts/flow-instruction-richness.js +827 -0
  85. package/scripts/flow-jira-integration.js +579 -0
  86. package/scripts/flow-knowledge-router.js +522 -0
  87. package/scripts/flow-knowledge-sync.js +589 -0
  88. package/scripts/flow-linear-integration.js +631 -0
  89. package/scripts/flow-links.js +774 -0
  90. package/scripts/flow-log-manager.js +559 -0
  91. package/scripts/flow-loop-enforcer.js +1246 -0
  92. package/scripts/flow-loop-retry-learning.js +630 -0
  93. package/scripts/flow-lsp.js +923 -0
  94. package/scripts/flow-map-index +348 -0
  95. package/scripts/flow-map-sync +201 -0
  96. package/scripts/flow-memory-blocks.js +668 -0
  97. package/scripts/flow-memory-compactor.js +350 -0
  98. package/scripts/flow-memory-db.js +1110 -0
  99. package/scripts/flow-memory-sync.js +484 -0
  100. package/scripts/flow-metrics.js +353 -0
  101. package/scripts/flow-migrate-ids.js +370 -0
  102. package/scripts/flow-model-adapter.js +802 -0
  103. package/scripts/flow-model-router.js +884 -0
  104. package/scripts/flow-models.js +1231 -0
  105. package/scripts/flow-morning.js +517 -0
  106. package/scripts/flow-multi-approach.js +660 -0
  107. package/scripts/flow-new-feature +86 -0
  108. package/scripts/flow-onboard +1042 -0
  109. package/scripts/flow-orchestrate-llm.js +459 -0
  110. package/scripts/flow-orchestrate.js +3592 -0
  111. package/scripts/flow-output.js +123 -0
  112. package/scripts/flow-parallel-detector.js +399 -0
  113. package/scripts/flow-parallel-dispatch.js +987 -0
  114. package/scripts/flow-parallel.js +428 -0
  115. package/scripts/flow-pattern-enforcer.js +600 -0
  116. package/scripts/flow-prd-manager.js +282 -0
  117. package/scripts/flow-progress.js +323 -0
  118. package/scripts/flow-project-analyzer.js +975 -0
  119. package/scripts/flow-prompt-composer.js +487 -0
  120. package/scripts/flow-providers.js +1381 -0
  121. package/scripts/flow-queue.js +308 -0
  122. package/scripts/flow-ready +82 -0
  123. package/scripts/flow-ready.js +189 -0
  124. package/scripts/flow-regression.js +396 -0
  125. package/scripts/flow-response-parser.js +450 -0
  126. package/scripts/flow-resume.js +284 -0
  127. package/scripts/flow-rules-sync.js +439 -0
  128. package/scripts/flow-run-trace.js +718 -0
  129. package/scripts/flow-safety.js +587 -0
  130. package/scripts/flow-search +104 -0
  131. package/scripts/flow-security.js +481 -0
  132. package/scripts/flow-session-end +106 -0
  133. package/scripts/flow-session-end.js +437 -0
  134. package/scripts/flow-session-state.js +671 -0
  135. package/scripts/flow-setup-hooks +216 -0
  136. package/scripts/flow-setup-hooks.js +377 -0
  137. package/scripts/flow-skill-create.js +329 -0
  138. package/scripts/flow-skill-creator.js +572 -0
  139. package/scripts/flow-skill-generator.js +1046 -0
  140. package/scripts/flow-skill-learn.js +880 -0
  141. package/scripts/flow-skill-matcher.js +578 -0
  142. package/scripts/flow-spec-generator.js +820 -0
  143. package/scripts/flow-stack-wizard.js +895 -0
  144. package/scripts/flow-standup +162 -0
  145. package/scripts/flow-start +74 -0
  146. package/scripts/flow-start.js +235 -0
  147. package/scripts/flow-status +110 -0
  148. package/scripts/flow-status.js +301 -0
  149. package/scripts/flow-step-browser.js +83 -0
  150. package/scripts/flow-step-changelog.js +217 -0
  151. package/scripts/flow-step-comments.js +306 -0
  152. package/scripts/flow-step-complexity.js +234 -0
  153. package/scripts/flow-step-coverage.js +218 -0
  154. package/scripts/flow-step-knowledge.js +193 -0
  155. package/scripts/flow-step-pr-tests.js +364 -0
  156. package/scripts/flow-step-regression.js +89 -0
  157. package/scripts/flow-step-review.js +516 -0
  158. package/scripts/flow-step-security.js +162 -0
  159. package/scripts/flow-step-silent-failures.js +290 -0
  160. package/scripts/flow-step-simplifier.js +346 -0
  161. package/scripts/flow-story +105 -0
  162. package/scripts/flow-story.js +500 -0
  163. package/scripts/flow-suspend.js +252 -0
  164. package/scripts/flow-sync-daemon.js +654 -0
  165. package/scripts/flow-task-analyzer.js +606 -0
  166. package/scripts/flow-team-dashboard.js +748 -0
  167. package/scripts/flow-team-sync.js +752 -0
  168. package/scripts/flow-team.js +977 -0
  169. package/scripts/flow-tech-options.js +528 -0
  170. package/scripts/flow-templates.js +812 -0
  171. package/scripts/flow-tiered-learning.js +728 -0
  172. package/scripts/flow-trace +204 -0
  173. package/scripts/flow-transcript-chunking.js +1106 -0
  174. package/scripts/flow-transcript-digest.js +7918 -0
  175. package/scripts/flow-transcript-language.js +465 -0
  176. package/scripts/flow-transcript-parsing.js +1085 -0
  177. package/scripts/flow-transcript-stories.js +2194 -0
  178. package/scripts/flow-update-map +224 -0
  179. package/scripts/flow-utils.js +2242 -0
  180. package/scripts/flow-verification.js +644 -0
  181. package/scripts/flow-verify.js +1177 -0
  182. package/scripts/flow-voice-input.js +638 -0
  183. package/scripts/flow-watch +168 -0
  184. package/scripts/flow-workflow-steps.js +521 -0
  185. package/scripts/flow-workflow.js +1029 -0
  186. package/scripts/flow-worktree.js +489 -0
  187. package/scripts/hooks/adapters/base-adapter.js +102 -0
  188. package/scripts/hooks/adapters/claude-code.js +359 -0
  189. package/scripts/hooks/adapters/index.js +79 -0
  190. package/scripts/hooks/core/component-check.js +341 -0
  191. package/scripts/hooks/core/index.js +35 -0
  192. package/scripts/hooks/core/loop-check.js +241 -0
  193. package/scripts/hooks/core/session-context.js +294 -0
  194. package/scripts/hooks/core/task-gate.js +177 -0
  195. package/scripts/hooks/core/validation.js +230 -0
  196. package/scripts/hooks/entry/claude-code/post-tool-use.js +65 -0
  197. package/scripts/hooks/entry/claude-code/pre-tool-use.js +89 -0
  198. package/scripts/hooks/entry/claude-code/session-end.js +87 -0
  199. package/scripts/hooks/entry/claude-code/session-start.js +46 -0
  200. package/scripts/hooks/entry/claude-code/stop.js +43 -0
  201. package/scripts/postinstall.js +139 -0
  202. package/templates/browser-test-flow.json +56 -0
  203. package/templates/bug-report.md +43 -0
  204. package/templates/component-detail.md +42 -0
  205. package/templates/component.stories.tsx +49 -0
  206. package/templates/context/constraints.md +83 -0
  207. package/templates/context/conventions.md +177 -0
  208. package/templates/context/stack.md +60 -0
  209. package/templates/correction-report.md +90 -0
  210. package/templates/feature-proposal.md +35 -0
  211. package/templates/hybrid/_base.md +254 -0
  212. package/templates/hybrid/_patterns.md +45 -0
  213. package/templates/hybrid/create-component.md +127 -0
  214. package/templates/hybrid/create-file.md +56 -0
  215. package/templates/hybrid/create-hook.md +145 -0
  216. package/templates/hybrid/create-service.md +70 -0
  217. package/templates/hybrid/fix-bug.md +33 -0
  218. package/templates/hybrid/modify-file.md +55 -0
  219. package/templates/story.md +68 -0
  220. package/templates/task.json +56 -0
  221. 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