claude-code-workflow 6.3.32 → 6.3.34

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 (476) hide show
  1. package/.claude/CLAUDE.md +6 -1
  2. package/.claude/agents/action-planning-agent.md +885 -885
  3. package/.claude/agents/cli-discuss-agent.md +391 -391
  4. package/.claude/agents/cli-execution-agent.md +7 -6
  5. package/.claude/agents/cli-lite-planning-agent.md +1 -1
  6. package/.claude/agents/cli-planning-agent.md +2 -2
  7. package/.claude/agents/code-developer.md +407 -403
  8. package/.claude/agents/conceptual-planning-agent.md +11 -0
  9. package/.claude/agents/debug-explore-agent.md +3 -3
  10. package/.claude/agents/doc-generator.md +3 -3
  11. package/.claude/agents/issue-plan-agent.md +333 -340
  12. package/.claude/agents/issue-queue-agent.md +1 -1
  13. package/.claude/agents/memory-bridge.md +95 -95
  14. package/.claude/agents/test-context-search-agent.md +402 -402
  15. package/.claude/agents/ui-design-agent.md +595 -595
  16. package/.claude/agents/universal-executor.md +134 -134
  17. package/.claude/commands/cli/codex-review.md +355 -0
  18. package/.claude/commands/issue/discover-by-prompt.md +1 -1
  19. package/.claude/commands/issue/execute.md +581 -581
  20. package/.claude/commands/issue/new.md +413 -413
  21. package/.claude/commands/issue/plan.md +1 -1
  22. package/.claude/commands/issue/queue.md +441 -382
  23. package/.claude/commands/memory/code-map-memory.md +687 -687
  24. package/.claude/commands/memory/compact.md +383 -383
  25. package/.claude/commands/memory/docs-full-cli.md +471 -471
  26. package/.claude/commands/memory/docs-related-cli.md +386 -386
  27. package/.claude/commands/memory/docs.md +615 -615
  28. package/.claude/commands/memory/load-skill-memory.md +182 -182
  29. package/.claude/commands/memory/skill-memory.md +525 -525
  30. package/.claude/commands/memory/style-skill-memory.md +396 -396
  31. package/.claude/commands/memory/swagger-docs.md +773 -773
  32. package/.claude/commands/memory/tech-research-rules.md +2 -2
  33. package/.claude/commands/memory/update-full.md +332 -332
  34. package/.claude/commands/memory/workflow-skill-memory.md +517 -517
  35. package/.claude/commands/task/create.md +151 -151
  36. package/.claude/commands/task/replan.md +436 -436
  37. package/.claude/commands/version.md +254 -254
  38. package/.claude/commands/workflow/brainstorm/api-designer.md +587 -587
  39. package/.claude/commands/workflow/brainstorm/auto-parallel.md +11 -0
  40. package/.claude/commands/workflow/brainstorm/data-architect.md +220 -220
  41. package/.claude/commands/workflow/brainstorm/product-manager.md +200 -200
  42. package/.claude/commands/workflow/brainstorm/product-owner.md +200 -200
  43. package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -200
  44. package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -200
  45. package/.claude/commands/workflow/brainstorm/system-architect.md +389 -389
  46. package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -221
  47. package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -221
  48. package/.claude/commands/workflow/debug-with-file.md +666 -0
  49. package/.claude/commands/workflow/debug.md +327 -327
  50. package/.claude/commands/workflow/execute.md +498 -498
  51. package/.claude/commands/workflow/lite-execute.md +23 -20
  52. package/.claude/commands/workflow/lite-fix.md +631 -631
  53. package/.claude/commands/workflow/lite-lite-lite.md +39 -11
  54. package/.claude/commands/workflow/lite-plan.md +4 -2
  55. package/.claude/commands/workflow/multi-cli-plan.md +97 -39
  56. package/.claude/commands/workflow/plan.md +551 -551
  57. package/.claude/commands/workflow/replan.md +515 -515
  58. package/.claude/commands/workflow/review-fix.md +610 -610
  59. package/.claude/commands/workflow/review-module-cycle.md +771 -771
  60. package/.claude/commands/workflow/review-session-cycle.md +782 -782
  61. package/.claude/commands/workflow/review.md +322 -322
  62. package/.claude/commands/workflow/session/list.md +95 -95
  63. package/.claude/commands/workflow/session/resume.md +60 -60
  64. package/.claude/commands/workflow/session/solidify.md +299 -299
  65. package/.claude/commands/workflow/tdd-plan.md +597 -460
  66. package/.claude/commands/workflow/test-cycle-execute.md +504 -504
  67. package/.claude/commands/workflow/test-fix-gen.md +699 -699
  68. package/.claude/commands/workflow/tools/conflict-resolution.md +2 -2
  69. package/.claude/commands/workflow/tools/task-generate-tdd.md +517 -517
  70. package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -309
  71. package/.claude/commands/workflow/tools/test-concept-enhanced.md +1 -1
  72. package/.claude/commands/workflow/tools/test-context-gather.md +235 -235
  73. package/.claude/commands/workflow/tools/test-task-generate.md +255 -255
  74. package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -1150
  75. package/.claude/commands/workflow/ui-design/design-sync.md +454 -454
  76. package/.claude/commands/workflow/ui-design/explore-auto.md +678 -678
  77. package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -745
  78. package/.claude/commands/workflow/ui-design/layout-extract.md +788 -788
  79. package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -356
  80. package/.claude/commands/workflow/ui-design/style-extract.md +773 -773
  81. package/.claude/skills/ccw/SKILL.md +522 -352
  82. package/.claude/skills/ccw/command.json +641 -547
  83. package/.claude/skills/ccw-help/SKILL.md +116 -116
  84. package/.claude/skills/ccw-help/command.json +520 -520
  85. package/.claude/skills/copyright-docs/phases/01.5-project-exploration.md +150 -150
  86. package/.claude/skills/copyright-docs/phases/02.5-consolidation.md +192 -192
  87. package/.claude/skills/copyright-docs/templates/agent-base.md +200 -200
  88. package/.claude/skills/project-analyze/phases/03.5-consolidation.md +233 -233
  89. package/.claude/skills/project-analyze/specs/writing-style.md +152 -152
  90. package/.claude/skills/review-code/phases/state-manager.md +752 -752
  91. package/.claude/skills/review-code/specs/rules/index.md +140 -140
  92. package/.claude/skills/skill-generator/specs/cli-integration.md +13 -19
  93. package/.claude/skills/skill-generator/specs/scripting-integration.md +265 -265
  94. package/.claude/skills/skill-generator/templates/code-analysis-action.md +503 -503
  95. package/.claude/skills/skill-generator/templates/llm-action.md +355 -355
  96. package/.claude/skills/skill-generator/templates/script-bash.md +277 -277
  97. package/.claude/skills/skill-generator/templates/script-python.md +198 -198
  98. package/.claude/skills/skill-generator/templates/skill-md.md +235 -235
  99. package/.claude/skills/skill-tuning/SKILL.md +303 -303
  100. package/.claude/skills/skill-tuning/phases/actions/action-abort.md +164 -164
  101. package/.claude/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -206
  102. package/.claude/skills/skill-tuning/phases/actions/action-complete.md +195 -195
  103. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -317
  104. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -243
  105. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -318
  106. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -269
  107. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -200
  108. package/.claude/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -322
  109. package/.claude/skills/skill-tuning/phases/actions/action-generate-report.md +228 -228
  110. package/.claude/skills/skill-tuning/phases/actions/action-init.md +149 -149
  111. package/.claude/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -317
  112. package/.claude/skills/skill-tuning/phases/actions/action-verify.md +222 -222
  113. package/.claude/skills/skill-tuning/phases/orchestrator.md +377 -377
  114. package/.claude/skills/skill-tuning/phases/state-schema.md +378 -378
  115. package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +318 -318
  116. package/.claude/skills/skill-tuning/specs/quality-gates.md +263 -263
  117. package/.claude/skills/skill-tuning/specs/tuning-strategies.md +1537 -1537
  118. package/.claude/skills/skill-tuning/templates/diagnosis-report.md +153 -153
  119. package/.claude/skills/skill-tuning/templates/fix-proposal.md +204 -204
  120. package/.claude/skills/software-manual/SKILL.md +184 -184
  121. package/.claude/skills/software-manual/phases/01-requirements-discovery.md +162 -162
  122. package/.claude/skills/software-manual/phases/02-project-exploration.md +101 -101
  123. package/.claude/skills/software-manual/phases/03-parallel-analysis.md +183 -183
  124. package/.claude/skills/software-manual/phases/03.5-consolidation.md +82 -82
  125. package/.claude/skills/software-manual/phases/04-screenshot-capture.md +89 -89
  126. package/.claude/skills/software-manual/phases/05-html-assembly.md +132 -132
  127. package/.claude/skills/software-manual/phases/06-iterative-refinement.md +259 -259
  128. package/.claude/skills/software-manual/scripts/screenshot-helper.md +447 -447
  129. package/.claude/skills/software-manual/scripts/swagger-runner.md +419 -419
  130. package/.claude/skills/software-manual/scripts/typedoc-runner.md +357 -357
  131. package/.claude/skills/software-manual/specs/html-template.md +325 -325
  132. package/.claude/skills/software-manual/specs/quality-standards.md +253 -253
  133. package/.claude/skills/software-manual/specs/writing-style.md +298 -298
  134. package/.claude/skills/text-formatter/SKILL.md +196 -196
  135. package/.claude/skills/text-formatter/phases/01-input-collection.md +111 -111
  136. package/.claude/skills/text-formatter/phases/02-content-analysis.md +248 -248
  137. package/.claude/skills/text-formatter/phases/03-format-transform.md +245 -245
  138. package/.claude/skills/text-formatter/phases/04-output-preview.md +183 -183
  139. package/.claude/skills/text-formatter/specs/callout-types.md +293 -293
  140. package/.claude/skills/text-formatter/specs/element-mapping.md +226 -226
  141. package/.claude/skills/text-formatter/specs/format-rules.md +273 -273
  142. package/.claude/skills/text-formatter/templates/bbcode-template.md +350 -350
  143. package/.claude/workflows/chinese-response.md +25 -25
  144. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -299
  145. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -261
  146. package/.claude/workflows/cli-templates/prompts/{analysis/03-analyze-performance.txt → analysis-analyze-performance.txt} +29 -29
  147. package/.claude/workflows/cli-templates/prompts/{analysis/03-assess-security-risks.txt → analysis-assess-security-risks.txt} +29 -29
  148. package/.claude/workflows/cli-templates/prompts/{analysis/02-review-architecture.txt → analysis-review-architecture.txt} +29 -29
  149. package/.claude/workflows/cli-templates/prompts/{analysis/02-review-code-quality.txt → analysis-review-code-quality.txt} +28 -28
  150. package/.claude/workflows/cli-templates/prompts/{analysis/03-review-quality-standards.txt → analysis-review-quality-standards.txt} +29 -29
  151. package/.claude/workflows/cli-templates/prompts/{analysis/01-trace-code-execution.txt → analysis-trace-code-execution.txt} +115 -115
  152. package/.claude/workflows/cli-templates/prompts/{documentation/api.txt → documentation-api.txt} +14 -14
  153. package/.claude/workflows/cli-templates/prompts/{documentation/folder-navigation.txt → documentation-folder-navigation.txt} +26 -26
  154. package/.claude/workflows/cli-templates/prompts/{documentation/project-architecture.txt → documentation-project-architecture.txt} +40 -40
  155. package/.claude/workflows/cli-templates/prompts/{documentation/project-examples.txt → documentation-project-examples.txt} +34 -34
  156. package/.claude/workflows/cli-templates/prompts/{documentation/project-readme.txt → documentation-project-readme.txt} +34 -34
  157. package/.claude/workflows/cli-templates/prompts/{documentation/swagger-api.txt → documentation-swagger-api.txt} +266 -266
  158. package/.claude/workflows/cli-templates/prompts/{planning/02-design-component-spec.txt → planning-design-component-spec.txt} +28 -28
  159. package/.claude/workflows/cli-templates/prompts/{verification/codex-technical.txt → verification-codex-technical.txt} +28 -28
  160. package/.claude/workflows/cli-templates/prompts/{verification/cross-validation.txt → verification-cross-validation.txt} +28 -28
  161. package/.claude/workflows/cli-templates/prompts/{verification/gemini-strategic.txt → verification-gemini-strategic.txt} +27 -27
  162. package/.claude/workflows/cli-templates/prompts/{workflow/analysis-results-structure.txt → workflow-analysis-results-structure.txt} +224 -224
  163. package/.claude/workflows/cli-templates/prompts/{workflow/impl-plan-template.txt → workflow-impl-plan-template.txt} +286 -286
  164. package/.claude/workflows/cli-templates/prompts/{workflow/skill-conflict-patterns.txt → workflow-skill-conflict-patterns.txt} +2 -2
  165. package/.claude/workflows/cli-templates/prompts/{workflow/skill-lessons-learned.txt → workflow-skill-lessons-learned.txt} +2 -2
  166. package/.claude/workflows/cli-templates/prompts/{workflow/task-json-agent-mode.txt → workflow-task-json-agent-mode.txt} +123 -123
  167. package/.claude/workflows/cli-templates/schemas/project-guidelines-schema.json +141 -141
  168. package/.claude/workflows/cli-tools-usage.md +113 -117
  169. package/.claude/workflows/coding-philosophy.md +69 -69
  170. package/.claude/workflows/context-tools.md +76 -76
  171. package/.claude/workflows/file-modification.md +64 -64
  172. package/.claude/workflows/review-directory-specification.md +336 -336
  173. package/.claude/workflows/windows-platform.md +19 -19
  174. package/.claude/workflows/workflow-architecture.md +942 -942
  175. package/.codex/prompts/issue-execute.md +176 -70
  176. package/README.md +250 -214
  177. package/ccw/dist/cli.d.ts.map +1 -1
  178. package/ccw/dist/cli.js +15 -0
  179. package/ccw/dist/cli.js.map +1 -1
  180. package/ccw/dist/commands/cli.d.ts +5 -0
  181. package/ccw/dist/commands/cli.d.ts.map +1 -1
  182. package/ccw/dist/commands/cli.js +116 -19
  183. package/ccw/dist/commands/cli.js.map +1 -1
  184. package/ccw/dist/commands/install.d.ts +17 -0
  185. package/ccw/dist/commands/install.d.ts.map +1 -1
  186. package/ccw/dist/commands/install.js +211 -2
  187. package/ccw/dist/commands/install.js.map +1 -1
  188. package/ccw/dist/commands/issue.d.ts.map +1 -1
  189. package/ccw/dist/commands/issue.js +208 -28
  190. package/ccw/dist/commands/issue.js.map +1 -1
  191. package/ccw/dist/commands/uninstall.d.ts.map +1 -1
  192. package/ccw/dist/commands/uninstall.js +22 -1
  193. package/ccw/dist/commands/uninstall.js.map +1 -1
  194. package/ccw/dist/commands/view.d.ts.map +1 -1
  195. package/ccw/dist/commands/view.js +3 -0
  196. package/ccw/dist/commands/view.js.map +1 -1
  197. package/ccw/dist/commands/workflow.d.ts +11 -0
  198. package/ccw/dist/commands/workflow.d.ts.map +1 -0
  199. package/ccw/dist/commands/workflow.js +294 -0
  200. package/ccw/dist/commands/workflow.js.map +1 -0
  201. package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -1
  202. package/ccw/dist/core/routes/claude-routes.js +57 -3
  203. package/ccw/dist/core/routes/claude-routes.js.map +1 -1
  204. package/ccw/dist/core/routes/cli-routes.d.ts +13 -0
  205. package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
  206. package/ccw/dist/core/routes/cli-routes.js +46 -0
  207. package/ccw/dist/core/routes/cli-routes.js.map +1 -1
  208. package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -1
  209. package/ccw/dist/core/routes/hooks-routes.js +33 -0
  210. package/ccw/dist/core/routes/hooks-routes.js.map +1 -1
  211. package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
  212. package/ccw/dist/core/routes/issue-routes.js +211 -29
  213. package/ccw/dist/core/routes/issue-routes.js.map +1 -1
  214. package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -1
  215. package/ccw/dist/core/routes/mcp-routes.js +4 -1
  216. package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
  217. package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -1
  218. package/ccw/dist/core/routes/rules-routes.js +22 -6
  219. package/ccw/dist/core/routes/rules-routes.js.map +1 -1
  220. package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
  221. package/ccw/dist/core/routes/session-routes.js +23 -1
  222. package/ccw/dist/core/routes/session-routes.js.map +1 -1
  223. package/ccw/dist/mcp-server/index.js +8 -2
  224. package/ccw/dist/mcp-server/index.js.map +1 -1
  225. package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
  226. package/ccw/dist/tools/claude-cli-tools.js +52 -28
  227. package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
  228. package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -1
  229. package/ccw/dist/tools/cli-executor-core.js +33 -8
  230. package/ccw/dist/tools/cli-executor-core.js.map +1 -1
  231. package/ccw/dist/tools/cli-executor-state.d.ts +2 -0
  232. package/ccw/dist/tools/cli-executor-state.d.ts.map +1 -1
  233. package/ccw/dist/tools/cli-executor-state.js.map +1 -1
  234. package/ccw/dist/tools/cli-executor-utils.d.ts +7 -0
  235. package/ccw/dist/tools/cli-executor-utils.d.ts.map +1 -1
  236. package/ccw/dist/tools/cli-executor-utils.js +18 -4
  237. package/ccw/dist/tools/cli-executor-utils.js.map +1 -1
  238. package/ccw/dist/tools/cli-history-store.d.ts +21 -0
  239. package/ccw/dist/tools/cli-history-store.d.ts.map +1 -1
  240. package/ccw/dist/tools/cli-history-store.js +106 -30
  241. package/ccw/dist/tools/cli-history-store.js.map +1 -1
  242. package/ccw/dist/tools/cli-output-converter.d.ts +2 -1
  243. package/ccw/dist/tools/cli-output-converter.d.ts.map +1 -1
  244. package/ccw/dist/tools/cli-output-converter.js +65 -10
  245. package/ccw/dist/tools/cli-output-converter.js.map +1 -1
  246. package/ccw/dist/tools/codex-lens-lsp.d.ts +61 -0
  247. package/ccw/dist/tools/codex-lens-lsp.d.ts.map +1 -0
  248. package/ccw/dist/tools/codex-lens-lsp.js +320 -0
  249. package/ccw/dist/tools/codex-lens-lsp.js.map +1 -0
  250. package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
  251. package/ccw/dist/tools/codex-lens.js +74 -54
  252. package/ccw/dist/tools/codex-lens.js.map +1 -1
  253. package/ccw/dist/tools/index.d.ts.map +1 -1
  254. package/ccw/dist/tools/index.js +4 -0
  255. package/ccw/dist/tools/index.js.map +1 -1
  256. package/ccw/dist/tools/template-discovery.d.ts +85 -0
  257. package/ccw/dist/tools/template-discovery.d.ts.map +1 -0
  258. package/ccw/dist/tools/template-discovery.js +239 -0
  259. package/ccw/dist/tools/template-discovery.js.map +1 -0
  260. package/ccw/dist/tools/vscode-lsp.d.ts +57 -0
  261. package/ccw/dist/tools/vscode-lsp.d.ts.map +1 -0
  262. package/ccw/dist/tools/vscode-lsp.js +250 -0
  263. package/ccw/dist/tools/vscode-lsp.js.map +1 -0
  264. package/ccw/dist/utils/path-resolver.d.ts +16 -2
  265. package/ccw/dist/utils/path-resolver.d.ts.map +1 -1
  266. package/ccw/dist/utils/path-resolver.js +36 -6
  267. package/ccw/dist/utils/path-resolver.js.map +1 -1
  268. package/ccw/dist/utils/path-validator.d.ts +5 -0
  269. package/ccw/dist/utils/path-validator.d.ts.map +1 -1
  270. package/ccw/dist/utils/path-validator.js +16 -5
  271. package/ccw/dist/utils/path-validator.js.map +1 -1
  272. package/ccw/dist/utils/project-root.d.ts +25 -0
  273. package/ccw/dist/utils/project-root.d.ts.map +1 -0
  274. package/ccw/dist/utils/project-root.js +63 -0
  275. package/ccw/dist/utils/project-root.js.map +1 -0
  276. package/ccw/dist/utils/shell-escape.d.ts +47 -3
  277. package/ccw/dist/utils/shell-escape.d.ts.map +1 -1
  278. package/ccw/dist/utils/shell-escape.js +98 -15
  279. package/ccw/dist/utils/shell-escape.js.map +1 -1
  280. package/ccw/dist/utils/update-checker.d.ts +11 -0
  281. package/ccw/dist/utils/update-checker.d.ts.map +1 -0
  282. package/ccw/dist/utils/update-checker.js +167 -0
  283. package/ccw/dist/utils/update-checker.js.map +1 -0
  284. package/ccw/src/cli.ts +16 -0
  285. package/ccw/src/commands/cli.ts +126 -19
  286. package/ccw/src/commands/install.ts +239 -2
  287. package/ccw/src/commands/issue.ts +245 -31
  288. package/ccw/src/commands/uninstall.ts +23 -1
  289. package/ccw/src/commands/view.ts +4 -0
  290. package/ccw/src/commands/workflow.ts +348 -0
  291. package/ccw/src/core/routes/claude-routes.ts +64 -3
  292. package/ccw/src/core/routes/cli-routes.ts +58 -0
  293. package/ccw/src/core/routes/hooks-routes.ts +32 -0
  294. package/ccw/src/core/routes/issue-routes.ts +242 -28
  295. package/ccw/src/core/routes/mcp-routes.ts +6 -2
  296. package/ccw/src/core/routes/rules-routes.ts +24 -6
  297. package/ccw/src/core/routes/session-routes.ts +24 -1
  298. package/ccw/src/mcp-server/index.ts +7 -2
  299. package/ccw/src/templates/dashboard-css/26-claude-manager.css +179 -0
  300. package/ccw/src/templates/dashboard-css/32-issue-manager.css +3427 -3302
  301. package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +3 -2
  302. package/ccw/src/templates/dashboard-js/components/cli-history.js +4 -1
  303. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +57 -21
  304. package/ccw/src/templates/dashboard-js/components/hook-manager.js +1492 -1492
  305. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +107 -20
  306. package/ccw/src/templates/dashboard-js/components/version-check.js +135 -1
  307. package/ccw/src/templates/dashboard-js/i18n.js +42 -0
  308. package/ccw/src/templates/dashboard-js/views/claude-manager.js +168 -0
  309. package/ccw/src/templates/dashboard-js/views/cli-manager.js +1 -0
  310. package/ccw/src/templates/dashboard-js/views/issue-manager.js +201 -1
  311. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +3502 -3478
  312. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +16 -0
  313. package/ccw/src/templates/dashboard.html +112 -0
  314. package/ccw/src/tools/claude-cli-tools.ts +54 -28
  315. package/ccw/src/tools/cli-executor-core.ts +36 -8
  316. package/ccw/src/tools/cli-executor-state.ts +2 -0
  317. package/ccw/src/tools/cli-executor-utils.ts +26 -4
  318. package/ccw/src/tools/cli-history-store.ts +122 -31
  319. package/ccw/src/tools/cli-output-converter.ts +76 -12
  320. package/ccw/src/tools/codex-lens-lsp.ts +405 -0
  321. package/ccw/src/tools/codex-lens.ts +82 -59
  322. package/ccw/src/tools/index.ts +4 -0
  323. package/ccw/src/tools/template-discovery.ts +303 -0
  324. package/ccw/src/tools/vscode-lsp.ts +317 -0
  325. package/ccw/src/utils/path-resolver.ts +37 -6
  326. package/ccw/src/utils/path-validator.ts +17 -5
  327. package/ccw/src/utils/project-root.ts +73 -0
  328. package/ccw/src/utils/shell-escape.ts +103 -16
  329. package/ccw/src/utils/update-checker.ts +178 -0
  330. package/codex-lens/pyproject.toml +14 -0
  331. package/codex-lens/src/codexlens/__pycache__/config.cpython-312.pyc +0 -0
  332. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  333. package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
  334. package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
  335. package/codex-lens/src/codexlens/api/__init__.py +88 -0
  336. package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-312.pyc +0 -0
  337. package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-313.pyc +0 -0
  338. package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-312.pyc +0 -0
  339. package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-313.pyc +0 -0
  340. package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-312.pyc +0 -0
  341. package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-313.pyc +0 -0
  342. package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-312.pyc +0 -0
  343. package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-313.pyc +0 -0
  344. package/codex-lens/src/codexlens/api/__pycache__/models.cpython-312.pyc +0 -0
  345. package/codex-lens/src/codexlens/api/__pycache__/models.cpython-313.pyc +0 -0
  346. package/codex-lens/src/codexlens/api/__pycache__/references.cpython-312.pyc +0 -0
  347. package/codex-lens/src/codexlens/api/__pycache__/references.cpython-313.pyc +0 -0
  348. package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-312.pyc +0 -0
  349. package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-313.pyc +0 -0
  350. package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-312.pyc +0 -0
  351. package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-313.pyc +0 -0
  352. package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-312.pyc +0 -0
  353. package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-313.pyc +0 -0
  354. package/codex-lens/src/codexlens/api/definition.py +126 -0
  355. package/codex-lens/src/codexlens/api/file_context.py +271 -0
  356. package/codex-lens/src/codexlens/api/hover.py +148 -0
  357. package/codex-lens/src/codexlens/api/models.py +281 -0
  358. package/codex-lens/src/codexlens/api/references.py +345 -0
  359. package/codex-lens/src/codexlens/api/semantic.py +471 -0
  360. package/codex-lens/src/codexlens/api/symbols.py +146 -0
  361. package/codex-lens/src/codexlens/api/utils.py +153 -0
  362. package/codex-lens/src/codexlens/config.py +7 -0
  363. package/codex-lens/src/codexlens/errors.py +4 -0
  364. package/codex-lens/src/codexlens/hybrid_search/__init__.py +28 -0
  365. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-312.pyc +0 -0
  366. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-313.pyc +0 -0
  367. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-312.pyc +0 -0
  368. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-313.pyc +0 -0
  369. package/codex-lens/src/codexlens/hybrid_search/__pycache__/engine.cpython-313.pyc +0 -0
  370. package/codex-lens/src/codexlens/hybrid_search/data_structures.py +602 -0
  371. package/codex-lens/src/codexlens/lsp/__init__.py +34 -0
  372. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-312.pyc +0 -0
  373. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-313.pyc +0 -0
  374. package/codex-lens/src/codexlens/lsp/__pycache__/handlers.cpython-313.pyc +0 -0
  375. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-312.pyc +0 -0
  376. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-313.pyc +0 -0
  377. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-312.pyc +0 -0
  378. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-313.pyc +0 -0
  379. package/codex-lens/src/codexlens/lsp/__pycache__/providers.cpython-313.pyc +0 -0
  380. package/codex-lens/src/codexlens/lsp/__pycache__/server.cpython-313.pyc +0 -0
  381. package/codex-lens/src/codexlens/lsp/__pycache__/standalone_manager.cpython-313.pyc +0 -0
  382. package/codex-lens/src/codexlens/lsp/handlers.py +551 -0
  383. package/codex-lens/src/codexlens/lsp/lsp_bridge.py +834 -0
  384. package/codex-lens/src/codexlens/lsp/lsp_graph_builder.py +375 -0
  385. package/codex-lens/src/codexlens/lsp/providers.py +177 -0
  386. package/codex-lens/src/codexlens/lsp/server.py +263 -0
  387. package/codex-lens/src/codexlens/lsp/standalone_manager.py +1159 -0
  388. package/codex-lens/src/codexlens/mcp/__init__.py +20 -0
  389. package/codex-lens/src/codexlens/mcp/__pycache__/__init__.cpython-313.pyc +0 -0
  390. package/codex-lens/src/codexlens/mcp/__pycache__/hooks.cpython-313.pyc +0 -0
  391. package/codex-lens/src/codexlens/mcp/__pycache__/provider.cpython-313.pyc +0 -0
  392. package/codex-lens/src/codexlens/mcp/__pycache__/schema.cpython-313.pyc +0 -0
  393. package/codex-lens/src/codexlens/mcp/hooks.py +170 -0
  394. package/codex-lens/src/codexlens/mcp/provider.py +202 -0
  395. package/codex-lens/src/codexlens/mcp/schema.py +113 -0
  396. package/codex-lens/src/codexlens/search/__init__.py +53 -15
  397. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
  398. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
  399. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-312.pyc +0 -0
  400. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  401. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-312.pyc +0 -0
  402. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  403. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-312.pyc +0 -0
  404. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  405. package/codex-lens/src/codexlens/search/association_tree/QUICK_START.md +257 -0
  406. package/codex-lens/src/codexlens/search/association_tree/README.md +188 -0
  407. package/codex-lens/src/codexlens/search/association_tree/__init__.py +21 -0
  408. package/codex-lens/src/codexlens/search/association_tree/__pycache__/__init__.cpython-313.pyc +0 -0
  409. package/codex-lens/src/codexlens/search/association_tree/__pycache__/builder.cpython-313.pyc +0 -0
  410. package/codex-lens/src/codexlens/search/association_tree/__pycache__/data_structures.cpython-313.pyc +0 -0
  411. package/codex-lens/src/codexlens/search/association_tree/__pycache__/deduplicator.cpython-313.pyc +0 -0
  412. package/codex-lens/src/codexlens/search/association_tree/builder.py +450 -0
  413. package/codex-lens/src/codexlens/search/association_tree/data_structures.py +191 -0
  414. package/codex-lens/src/codexlens/search/association_tree/deduplicator.py +301 -0
  415. package/codex-lens/src/codexlens/search/chain_search.py +864 -3
  416. package/codex-lens/src/codexlens/search/clustering/__init__.py +124 -0
  417. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-312.pyc +0 -0
  418. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-313.pyc +0 -0
  419. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-312.pyc +0 -0
  420. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-313.pyc +0 -0
  421. package/codex-lens/src/codexlens/search/clustering/__pycache__/dbscan_strategy.cpython-313.pyc +0 -0
  422. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-312.pyc +0 -0
  423. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-313.pyc +0 -0
  424. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-312.pyc +0 -0
  425. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-313.pyc +0 -0
  426. package/codex-lens/src/codexlens/search/clustering/__pycache__/hdbscan_strategy.cpython-313.pyc +0 -0
  427. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-312.pyc +0 -0
  428. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-313.pyc +0 -0
  429. package/codex-lens/src/codexlens/search/clustering/base.py +153 -0
  430. package/codex-lens/src/codexlens/search/clustering/dbscan_strategy.py +197 -0
  431. package/codex-lens/src/codexlens/search/clustering/factory.py +202 -0
  432. package/codex-lens/src/codexlens/search/clustering/frequency_strategy.py +263 -0
  433. package/codex-lens/src/codexlens/search/clustering/hdbscan_strategy.py +153 -0
  434. package/codex-lens/src/codexlens/search/clustering/noop_strategy.py +83 -0
  435. package/codex-lens/src/codexlens/search/hybrid_search.py +194 -2
  436. package/codex-lens/src/codexlens/search/ranking.py +6 -4
  437. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-312.pyc +0 -0
  438. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-312.pyc +0 -0
  439. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  440. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
  441. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-313.pyc +0 -0
  442. package/codex-lens/src/codexlens/storage/dir_index.py +172 -0
  443. package/codex-lens/src/codexlens/storage/global_index.py +33 -0
  444. package/package.json +92 -92
  445. /package/.claude/workflows/cli-templates/prompts/{analysis/02-analyze-code-patterns.txt → analysis-analyze-code-patterns.txt} +0 -0
  446. /package/.claude/workflows/cli-templates/prompts/{analysis/02-analyze-technical-document.txt → analysis-analyze-technical-document.txt} +0 -0
  447. /package/.claude/workflows/cli-templates/prompts/{analysis/01-diagnose-bug-root-cause.txt → analysis-diagnose-bug-root-cause.txt} +0 -0
  448. /package/.claude/workflows/cli-templates/prompts/{development/03-debug-runtime-issues.txt → development-debug-runtime-issues.txt} +0 -0
  449. /package/.claude/workflows/cli-templates/prompts/{development/02-generate-tests.txt → development-generate-tests.txt} +0 -0
  450. /package/.claude/workflows/cli-templates/prompts/{development/02-implement-component-ui.txt → development-implement-component-ui.txt} +0 -0
  451. /package/.claude/workflows/cli-templates/prompts/{development/02-implement-feature.txt → development-implement-feature.txt} +0 -0
  452. /package/.claude/workflows/cli-templates/prompts/{development/02-refactor-codebase.txt → development-refactor-codebase.txt} +0 -0
  453. /package/.claude/workflows/cli-templates/prompts/{documentation/module-readme.txt → documentation-module-readme.txt} +0 -0
  454. /package/.claude/workflows/cli-templates/prompts/{memory/02-document-module-structure.txt → memory-document-module-structure.txt} +0 -0
  455. /package/.claude/workflows/cli-templates/prompts/{planning/02-breakdown-task-steps.txt → planning-breakdown-task-steps.txt} +0 -0
  456. /package/.claude/workflows/cli-templates/prompts/{planning/03-evaluate-concept-feasibility.txt → planning-evaluate-concept-feasibility.txt} +0 -0
  457. /package/.claude/workflows/cli-templates/prompts/{planning/01-plan-architecture-design.txt → planning-plan-architecture-design.txt} +0 -0
  458. /package/.claude/workflows/cli-templates/prompts/{planning/03-plan-migration-strategy.txt → planning-plan-migration-strategy.txt} +0 -0
  459. /package/.claude/workflows/cli-templates/prompts/{rules/rule-api.txt → rules-rule-api.txt} +0 -0
  460. /package/.claude/workflows/cli-templates/prompts/{rules/rule-components.txt → rules-rule-components.txt} +0 -0
  461. /package/.claude/workflows/cli-templates/prompts/{rules/rule-config.txt → rules-rule-config.txt} +0 -0
  462. /package/.claude/workflows/cli-templates/prompts/{rules/rule-core.txt → rules-rule-core.txt} +0 -0
  463. /package/.claude/workflows/cli-templates/prompts/{rules/rule-patterns.txt → rules-rule-patterns.txt} +0 -0
  464. /package/.claude/workflows/cli-templates/prompts/{rules/rule-testing.txt → rules-rule-testing.txt} +0 -0
  465. /package/.claude/workflows/cli-templates/prompts/{rules/tech-rules-agent-prompt.txt → rules-tech-rules-agent-prompt.txt} +0 -0
  466. /package/.claude/workflows/cli-templates/prompts/{tech/tech-module-format.txt → tech-tech-module-format.txt} +0 -0
  467. /package/.claude/workflows/cli-templates/prompts/{tech/tech-skill-index.txt → tech-tech-skill-index.txt} +0 -0
  468. /package/.claude/workflows/cli-templates/prompts/{test/test-concept-analysis.txt → test-test-concept-analysis.txt} +0 -0
  469. /package/.claude/workflows/cli-templates/prompts/{universal/00-universal-creative-style.txt → universal-universal-creative-style.txt} +0 -0
  470. /package/.claude/workflows/cli-templates/prompts/{universal/00-universal-rigorous-style.txt → universal-universal-rigorous-style.txt} +0 -0
  471. /package/.claude/workflows/cli-templates/prompts/{workflow/codex-feasibility-validation.txt → workflow-codex-feasibility-validation.txt} +0 -0
  472. /package/.claude/workflows/cli-templates/prompts/{workflow/gemini-solution-design.txt → workflow-gemini-solution-design.txt} +0 -0
  473. /package/.claude/workflows/cli-templates/prompts/{workflow/skill-aggregation.txt → workflow-skill-aggregation.txt} +0 -0
  474. /package/.claude/workflows/cli-templates/prompts/{workflow/skill-index.txt → workflow-skill-index.txt} +0 -0
  475. /package/.claude/workflows/cli-templates/prompts/{workflow/skill-sessions-timeline.txt → workflow-skill-sessions-timeline.txt} +0 -0
  476. /package/.claude/workflows/cli-templates/prompts/{workflow/task-json-cli-mode.txt → workflow-task-json-cli-mode.txt} +0 -0
@@ -1,471 +1,471 @@
1
- ---
2
- name: docs-full-cli
3
- description: Generate full project documentation using CLI execution (Layer 3→1) with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <20 modules uses direct parallel
4
- argument-hint: "[path] [--tool <gemini|qwen|codex>]"
5
- ---
6
-
7
- # Full Documentation Generation - CLI Mode (/memory:docs-full-cli)
8
-
9
- ## Overview
10
-
11
- Orchestrates project-wide documentation generation using CLI-based execution with batched agents and automatic tool fallback.
12
-
13
- **Parameters**:
14
- - `path`: Target directory (default: current directory)
15
- - `--tool <gemini|qwen|codex>`: Primary tool (default: gemini)
16
-
17
- **Execution Flow**: Discovery → Plan Presentation → Execution → Verification
18
-
19
- ## 3-Layer Architecture & Auto-Strategy Selection
20
-
21
- ### Layer Definition & Strategy Assignment
22
-
23
- | Layer | Depth | Strategy | Purpose | Context Pattern |
24
- |-------|-------|----------|---------|----------------|
25
- | **Layer 3** (Deepest) | ≥3 | `full` | Generate docs for all subdirectories with code | `@**/*` (all files) |
26
- | **Layer 2** (Middle) | 1-2 | `single` | Current dir + child docs | `@*/API.md @*/README.md @*.{ts,tsx,js,...}` |
27
- | **Layer 1** (Top) | 0 | `single` | Current dir + child docs | `@*/API.md @*/README.md @*.{ts,tsx,js,...}` |
28
-
29
- **Generation Direction**: Layer 3 → Layer 2 → Layer 1 (bottom-up dependency flow)
30
-
31
- **Strategy Auto-Selection**: Strategies are automatically determined by directory depth - no user configuration needed.
32
-
33
- ### Strategy Details
34
-
35
- #### Full Strategy (Layer 3 Only)
36
- - **Use Case**: Deepest directories with comprehensive file coverage
37
- - **Behavior**: Generates API.md + README.md for current directory AND subdirectories containing code
38
- - **Context**: All files in current directory tree (`@**/*`)
39
- - **Output**: `.workflow/docs/{project_name}/{path}/API.md` + `README.md`
40
-
41
-
42
- #### Single Strategy (Layers 1-2)
43
- - **Use Case**: Upper layers that aggregate from existing documentation
44
- - **Behavior**: Generates API.md + README.md only in current directory
45
- - **Context**: Direct children docs + current directory code files
46
- - **Output**: `.workflow/docs/{project_name}/{path}/API.md` + `README.md`
47
-
48
- ### Example Flow
49
- ```
50
- src/auth/handlers/ (depth 3) → FULL STRATEGY
51
- CONTEXT: @**/* (all files in handlers/ and subdirs)
52
- GENERATES: .workflow/docs/project/src/auth/handlers/{API.md,README.md} + subdirs
53
-
54
- src/auth/ (depth 2) → SINGLE STRATEGY
55
- CONTEXT: @*/API.md @*/README.md @*.ts (handlers docs + current code)
56
- GENERATES: .workflow/docs/project/src/auth/{API.md,README.md} only
57
-
58
- src/ (depth 1) → SINGLE STRATEGY
59
- CONTEXT: @*/API.md @*/README.md (auth docs, utils docs)
60
- GENERATES: .workflow/docs/project/src/{API.md,README.md} only
61
-
62
- ./ (depth 0) → SINGLE STRATEGY
63
- CONTEXT: @*/API.md @*/README.md (src docs, tests docs)
64
- GENERATES: .workflow/docs/project/{API.md,README.md} only
65
- ```
66
-
67
- ## Core Execution Rules
68
-
69
- 1. **Analyze First**: Module discovery + folder classification before generation
70
- 2. **Wait for Approval**: Present plan, no execution without user confirmation
71
- 3. **Execution Strategy**:
72
- - **<20 modules**: Direct parallel execution (max 4 concurrent per layer)
73
- - **≥20 modules**: Agent batch processing (4 modules/agent, 73% overhead reduction)
74
- 4. **Tool Fallback**: Auto-retry with fallback tools on failure
75
- 5. **Layer Sequential**: Process layers 3→2→1 (bottom-up), parallel batches within layer
76
- 6. **Safety Check**: Verify only docs files modified in .workflow/docs/
77
- 7. **Layer-based Grouping**: Group modules by LAYER (not depth) for execution
78
-
79
- ## Tool Fallback Hierarchy
80
-
81
- ```javascript
82
- --tool gemini → [gemini, qwen, codex] // default
83
- --tool qwen → [qwen, gemini, codex]
84
- --tool codex → [codex, gemini, qwen]
85
- ```
86
-
87
- **Trigger**: Non-zero exit code from generation script
88
-
89
- | Tool | Best For | Fallback To |
90
- |--------|--------------------------------|----------------|
91
- | gemini | Documentation, patterns | qwen → codex |
92
- | qwen | Architecture, system design | gemini → codex |
93
- | codex | Implementation, code quality | gemini → qwen |
94
-
95
- ## Execution Phases
96
-
97
- ### Phase 1: Discovery & Analysis
98
-
99
- ```javascript
100
- // Get project metadata
101
- Bash({command: "pwd && basename \"$(pwd)\" && git rev-parse --show-toplevel 2>/dev/null || pwd", run_in_background: false});
102
-
103
- // Get module structure with classification
104
- Bash({command: "ccw tool exec get_modules_by_depth '{\"format\":\"list\"}' | ccw tool exec classify_folders '{}'", run_in_background: false});
105
-
106
- // OR with path parameter
107
- Bash({command: "cd <target-path> && ccw tool exec get_modules_by_depth '{\"format\":\"list\"}' | ccw tool exec classify_folders '{}'", run_in_background: false});
108
- ```
109
-
110
- **Parse output** `depth:N|path:<PATH>|type:<code|navigation>|...` to extract module paths, types, and count.
111
-
112
- **Smart filter**: Auto-detect and skip tests/build/config/vendor based on project tech stack.
113
-
114
- ### Phase 2: Plan Presentation
115
-
116
- **For <20 modules**:
117
- ```
118
- Documentation Generation Plan:
119
- Tool: gemini (fallback: qwen → codex)
120
- Total: 7 modules
121
- Execution: Direct parallel (< 20 modules threshold)
122
- Project: myproject
123
- Output: .workflow/docs/myproject/
124
-
125
- Will generate docs for:
126
- - ./core/interfaces (12 files, type: code) - depth 2 [Layer 2] - single strategy
127
- - ./core (22 files, type: code) - depth 1 [Layer 2] - single strategy
128
- - ./models (9 files, type: code) - depth 1 [Layer 2] - single strategy
129
- - ./utils (12 files, type: navigation) - depth 1 [Layer 2] - single strategy
130
- - . (5 files, type: code) - depth 0 [Layer 1] - single strategy
131
-
132
- Documentation Strategy (Auto-Selected):
133
- - Layer 2 (depth 1-2): API.md + README.md (current dir only, reference child docs)
134
- - Layer 1 (depth 0): API.md + README.md (current dir only, reference child docs)
135
-
136
- Output Structure:
137
- - Code folders: API.md + README.md
138
- - Navigation folders: README.md only
139
-
140
- Auto-skipped: ./tests, __pycache__, node_modules (15 paths)
141
- Execution order: Layer 2 → Layer 1
142
- Estimated time: ~5-10 minutes
143
-
144
- Confirm execution? (y/n)
145
- ```
146
-
147
- **For ≥20 modules**:
148
- ```
149
- Documentation Generation Plan:
150
- Tool: gemini (fallback: qwen → codex)
151
- Total: 31 modules
152
- Execution: Agent batch processing (4 modules/agent)
153
- Project: myproject
154
- Output: .workflow/docs/myproject/
155
-
156
- Will generate docs for:
157
- - ./src/features/auth (12 files, type: code) - depth 3 [Layer 3] - full strategy
158
- - ./.claude/commands/cli (6 files, type: code) - depth 3 [Layer 3] - full strategy
159
- - ./src/utils (8 files, type: code) - depth 2 [Layer 2] - single strategy
160
- ...
161
-
162
- Documentation Strategy (Auto-Selected):
163
- - Layer 3 (depth ≥3): API.md + README.md (all subdirs with code)
164
- - Layer 2 (depth 1-2): API.md + README.md (current dir only)
165
- - Layer 1 (depth 0): API.md + README.md (current dir only)
166
-
167
- Output Structure:
168
- - Code folders: API.md + README.md
169
- - Navigation folders: README.md only
170
-
171
- Auto-skipped: ./tests, __pycache__, node_modules (15 paths)
172
- Execution order: Layer 3 → Layer 2 → Layer 1
173
-
174
- Agent allocation (by LAYER):
175
- - Layer 3 (14 modules, depth ≥3): 4 agents [4, 4, 4, 2]
176
- - Layer 2 (15 modules, depth 1-2): 4 agents [4, 4, 4, 3]
177
- - Layer 1 (2 modules, depth 0): 1 agent [2]
178
-
179
- Estimated time: ~15-25 minutes
180
-
181
- Confirm execution? (y/n)
182
- ```
183
-
184
- ### Phase 3A: Direct Execution (<20 modules)
185
-
186
- **Strategy**: Parallel execution within layer (max 4 concurrent), no agent overhead.
187
-
188
- **CRITICAL**: All Bash commands use `run_in_background: false` for synchronous execution.
189
-
190
- ```javascript
191
- let project_name = detect_project_name();
192
-
193
- for (let layer of [3, 2, 1]) {
194
- if (modules_by_layer[layer].length === 0) continue;
195
- let batches = batch_modules(modules_by_layer[layer], 4);
196
-
197
- for (let batch of batches) {
198
- let parallel_tasks = batch.map(module => {
199
- return async () => {
200
- let strategy = module.depth >= 3 ? "full" : "single";
201
- for (let tool of tool_order) {
202
- Bash({
203
- command: `cd ${module.path} && ccw tool exec generate_module_docs '{"strategy":"${strategy}","sourcePath":".","projectName":"${project_name}","tool":"${tool}"}'`,
204
- run_in_background: false
205
- });
206
- if (bash_result.exit_code === 0) {
207
- report(`✅ ${module.path} (Layer ${layer}) docs generated with ${tool}`);
208
- return true;
209
- }
210
- }
211
- report(`❌ FAILED: ${module.path} (Layer ${layer}) failed all tools`);
212
- return false;
213
- };
214
- });
215
- await Promise.all(parallel_tasks.map(task => task()));
216
- }
217
- }
218
- ```
219
-
220
- ### Phase 3B: Agent Batch Execution (≥20 modules)
221
-
222
- **Strategy**: Batch modules into groups of 4, spawn memory-bridge agents per batch.
223
-
224
- ```javascript
225
- // Group modules by LAYER and batch within each layer
226
- let modules_by_layer = group_by_layer(module_list);
227
- let tool_order = construct_tool_order(primary_tool);
228
- let project_name = detect_project_name();
229
-
230
- for (let layer of [3, 2, 1]) {
231
- if (modules_by_layer[layer].length === 0) continue;
232
-
233
- let batches = batch_modules(modules_by_layer[layer], 4);
234
- let worker_tasks = [];
235
-
236
- for (let batch of batches) {
237
- worker_tasks.push(
238
- Task(
239
- subagent_type="memory-bridge",
240
- description=`Generate docs for ${batch.length} modules in Layer ${layer}`,
241
- prompt=generate_batch_worker_prompt(batch, tool_order, layer, project_name)
242
- )
243
- );
244
- }
245
-
246
- await parallel_execute(worker_tasks);
247
- }
248
- ```
249
-
250
- **Batch Worker Prompt Template**:
251
- ```
252
- PURPOSE: Generate documentation for assigned modules with tool fallback
253
-
254
- TASK: Generate API.md + README.md for assigned modules using specified strategies.
255
-
256
- PROJECT: {{project_name}}
257
- OUTPUT: .workflow/docs/{{project_name}}/
258
-
259
- MODULES:
260
- {{module_path_1}} (strategy: {{strategy_1}}, type: {{folder_type_1}})
261
- {{module_path_2}} (strategy: {{strategy_2}}, type: {{folder_type_2}})
262
- ...
263
-
264
- TOOLS (try in order): {{tool_1}}, {{tool_2}}, {{tool_3}}
265
-
266
- EXECUTION SCRIPT: ccw tool exec generate_module_docs
267
- - Accepts strategy parameter: full | single
268
- - Accepts folder type detection: code | navigation
269
- - Tool execution via direct CLI commands (gemini/qwen/codex)
270
- - Output path: .workflow/docs/{{project_name}}/{module_path}/
271
-
272
- EXECUTION FLOW (for each module):
273
- 1. Tool fallback loop (exit on first success):
274
- for tool in {{tool_1}} {{tool_2}} {{tool_3}}; do
275
- Bash({
276
- command: `cd "{{module_path}}" && ccw tool exec generate_module_docs '{"strategy":"{{strategy}}","sourcePath":".","projectName":"{{project_name}}","tool":"${tool}"}'`,
277
- run_in_background: false
278
- })
279
- exit_code=$?
280
-
281
- if [ $exit_code -eq 0 ]; then
282
- report "✅ {{module_path}} docs generated with $tool"
283
- break
284
- else
285
- report "⚠️ {{module_path}} failed with $tool, trying next..."
286
- continue
287
- fi
288
- done
289
-
290
- 2. Handle complete failure (all tools failed):
291
- if [ $exit_code -ne 0 ]; then
292
- report "❌ FAILED: {{module_path}} - all tools exhausted"
293
- # Continue to next module (do not abort batch)
294
- fi
295
-
296
- FOLDER TYPE HANDLING:
297
- - code: Generate API.md + README.md
298
- - navigation: Generate README.md only
299
-
300
- FAILURE HANDLING:
301
- - Module-level isolation: One module's failure does not affect others
302
- - Exit code detection: Non-zero exit code triggers next tool
303
- - Exhaustion reporting: Log modules where all tools failed
304
- - Batch continuation: Always process remaining modules
305
-
306
- REPORTING FORMAT:
307
- Per-module status:
308
- ✅ path/to/module docs generated with {tool}
309
- ⚠️ path/to/module failed with {tool}, trying next...
310
- ❌ FAILED: path/to/module - all tools exhausted
311
- ```
312
-
313
- ### Phase 4: Project-Level Documentation
314
-
315
- **After all module documentation is generated, create project-level documentation files.**
316
-
317
- ```javascript
318
- let project_name = detect_project_name();
319
- let project_root = get_project_root();
320
-
321
- // Step 1: Generate Project README
322
- report("Generating project README.md...");
323
- for (let tool of tool_order) {
324
- Bash({
325
- command: `cd ${project_root} && ccw tool exec generate_module_docs '{"strategy":"project-readme","sourcePath":".","projectName":"${project_name}","tool":"${tool}"}'`,
326
- run_in_background: false
327
- });
328
- if (bash_result.exit_code === 0) {
329
- report(`✅ Project README generated with ${tool}`);
330
- break;
331
- }
332
- }
333
-
334
- // Step 2: Generate Architecture & Examples
335
- report("Generating ARCHITECTURE.md and EXAMPLES.md...");
336
- for (let tool of tool_order) {
337
- Bash({
338
- command: `cd ${project_root} && ccw tool exec generate_module_docs '{"strategy":"project-architecture","sourcePath":".","projectName":"${project_name}","tool":"${tool}"}'`,
339
- run_in_background: false
340
- });
341
- if (bash_result.exit_code === 0) {
342
- report(`✅ Architecture docs generated with ${tool}`);
343
- break;
344
- }
345
- }
346
-
347
- // Step 3: Generate HTTP API documentation (if API routes detected)
348
- Bash({command: 'rg "router\\.|@Get|@Post" -g "*.{ts,js,py}" 2>/dev/null && echo "API_FOUND" || echo "NO_API"', run_in_background: false});
349
- if (bash_result.stdout.includes("API_FOUND")) {
350
- report("Generating HTTP API documentation...");
351
- for (let tool of tool_order) {
352
- Bash({
353
- command: `cd ${project_root} && ccw tool exec generate_module_docs '{"strategy":"http-api","sourcePath":".","projectName":"${project_name}","tool":"${tool}"}'`,
354
- run_in_background: false
355
- });
356
- if (bash_result.exit_code === 0) {
357
- report(`✅ HTTP API docs generated with ${tool}`);
358
- break;
359
- }
360
- }
361
- }
362
- ```
363
-
364
- **Expected Output**:
365
- ```
366
- Project-Level Documentation:
367
- ✅ README.md (project root overview)
368
- ✅ ARCHITECTURE.md (system design)
369
- ✅ EXAMPLES.md (usage examples)
370
- ✅ api/README.md (HTTP API reference) [optional]
371
- ```
372
-
373
- ### Phase 5: Verification
374
-
375
- ```javascript
376
- // Check documentation files created
377
- Bash({command: 'find .workflow/docs -type f -name "*.md" 2>/dev/null | wc -l', run_in_background: false});
378
-
379
- // Display structure
380
- Bash({command: 'tree -L 3 .workflow/docs/', run_in_background: false});
381
- ```
382
-
383
- **Result Summary**:
384
- ```
385
- Documentation Generation Summary:
386
- Total: 31 | Success: 29 | Failed: 2
387
- Tool usage: gemini: 25, qwen: 4, codex: 0
388
- Failed: path1, path2
389
-
390
- Generated documentation:
391
- .workflow/docs/myproject/
392
- ├── src/
393
- │ ├── auth/
394
- │ │ ├── API.md
395
- │ │ └── README.md
396
- │ └── utils/
397
- │ └── README.md
398
- └── README.md
399
- ```
400
-
401
- ## Error Handling
402
-
403
- **Batch Worker**: Tool fallback per module, batch isolation, clear status reporting
404
- **Coordinator**: Invalid path abort, user decline handling, verification with cleanup
405
- **Fallback Triggers**: Non-zero exit code, script timeout, unexpected output
406
-
407
- ## Output Structure
408
-
409
- ```
410
- .workflow/docs/{project_name}/
411
- ├── src/ # Mirrors source structure
412
- │ ├── modules/
413
- │ │ ├── README.md # Navigation
414
- │ │ ├── auth/
415
- │ │ │ ├── API.md # API signatures
416
- │ │ │ ├── README.md # Module docs
417
- │ │ │ └── middleware/
418
- │ │ │ ├── API.md
419
- │ │ │ └── README.md
420
- │ │ └── api/
421
- │ │ ├── API.md
422
- │ │ └── README.md
423
- │ └── utils/
424
- │ └── README.md
425
- ├── lib/
426
- │ └── core/
427
- │ ├── API.md
428
- │ └── README.md
429
- ├── README.md # ✨ Project root overview (auto-generated)
430
- ├── ARCHITECTURE.md # ✨ System design (auto-generated)
431
- ├── EXAMPLES.md # ✨ Usage examples (auto-generated)
432
- └── api/ # ✨ Optional (auto-generated if HTTP API detected)
433
- └── README.md # HTTP API reference
434
- ```
435
-
436
- ## Usage Examples
437
-
438
- ```bash
439
- # Full project documentation generation
440
- /memory:docs-full-cli
441
-
442
- # Target specific directory
443
- /memory:docs-full-cli src/features/auth
444
- /memory:docs-full-cli .claude
445
-
446
- # Use specific tool
447
- /memory:docs-full-cli --tool qwen
448
- /memory:docs-full-cli src --tool qwen
449
- ```
450
-
451
- ## Key Advantages
452
-
453
- - **Efficiency**: 30 modules → 8 agents (73% reduction from sequential)
454
- - **Resilience**: 3-tier tool fallback per module
455
- - **Performance**: Parallel batches, no concurrency limits
456
- - **Observability**: Per-module tool usage, batch-level metrics
457
- - **Automation**: Zero configuration - strategy auto-selected by directory depth
458
- - **Path Mirroring**: Clear 1:1 mapping between source and documentation structure
459
-
460
- ## Template Reference
461
-
462
- Templates used from `~/.claude/workflows/cli-templates/prompts/documentation/`:
463
- - `api.txt`: Code API documentation (Part A: Code API, Part B: HTTP API)
464
- - `module-readme.txt`: Module purpose, usage, dependencies
465
- - `folder-navigation.txt`: Navigation README for folders with subdirectories
466
-
467
- ## Related Commands
468
-
469
- - `/memory:docs` - Agent-based documentation planning workflow
470
- - `/memory:docs-related-cli` - Update docs for changed modules only
471
- - `/workflow:execute` - Execute documentation tasks (when using agent mode)
1
+ ---
2
+ name: docs-full-cli
3
+ description: Generate full project documentation using CLI execution (Layer 3→1) with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <20 modules uses direct parallel
4
+ argument-hint: "[path] [--tool <gemini|qwen|codex>]"
5
+ ---
6
+
7
+ # Full Documentation Generation - CLI Mode (/memory:docs-full-cli)
8
+
9
+ ## Overview
10
+
11
+ Orchestrates project-wide documentation generation using CLI-based execution with batched agents and automatic tool fallback.
12
+
13
+ **Parameters**:
14
+ - `path`: Target directory (default: current directory)
15
+ - `--tool <gemini|qwen|codex>`: Primary tool (default: gemini)
16
+
17
+ **Execution Flow**: Discovery → Plan Presentation → Execution → Verification
18
+
19
+ ## 3-Layer Architecture & Auto-Strategy Selection
20
+
21
+ ### Layer Definition & Strategy Assignment
22
+
23
+ | Layer | Depth | Strategy | Purpose | Context Pattern |
24
+ |-------|-------|----------|---------|----------------|
25
+ | **Layer 3** (Deepest) | ≥3 | `full` | Generate docs for all subdirectories with code | `@**/*` (all files) |
26
+ | **Layer 2** (Middle) | 1-2 | `single` | Current dir + child docs | `@*/API.md @*/README.md @*.{ts,tsx,js,...}` |
27
+ | **Layer 1** (Top) | 0 | `single` | Current dir + child docs | `@*/API.md @*/README.md @*.{ts,tsx,js,...}` |
28
+
29
+ **Generation Direction**: Layer 3 → Layer 2 → Layer 1 (bottom-up dependency flow)
30
+
31
+ **Strategy Auto-Selection**: Strategies are automatically determined by directory depth - no user configuration needed.
32
+
33
+ ### Strategy Details
34
+
35
+ #### Full Strategy (Layer 3 Only)
36
+ - **Use Case**: Deepest directories with comprehensive file coverage
37
+ - **Behavior**: Generates API.md + README.md for current directory AND subdirectories containing code
38
+ - **Context**: All files in current directory tree (`@**/*`)
39
+ - **Output**: `.workflow/docs/{project_name}/{path}/API.md` + `README.md`
40
+
41
+
42
+ #### Single Strategy (Layers 1-2)
43
+ - **Use Case**: Upper layers that aggregate from existing documentation
44
+ - **Behavior**: Generates API.md + README.md only in current directory
45
+ - **Context**: Direct children docs + current directory code files
46
+ - **Output**: `.workflow/docs/{project_name}/{path}/API.md` + `README.md`
47
+
48
+ ### Example Flow
49
+ ```
50
+ src/auth/handlers/ (depth 3) → FULL STRATEGY
51
+ CONTEXT: @**/* (all files in handlers/ and subdirs)
52
+ GENERATES: .workflow/docs/project/src/auth/handlers/{API.md,README.md} + subdirs
53
+
54
+ src/auth/ (depth 2) → SINGLE STRATEGY
55
+ CONTEXT: @*/API.md @*/README.md @*.ts (handlers docs + current code)
56
+ GENERATES: .workflow/docs/project/src/auth/{API.md,README.md} only
57
+
58
+ src/ (depth 1) → SINGLE STRATEGY
59
+ CONTEXT: @*/API.md @*/README.md (auth docs, utils docs)
60
+ GENERATES: .workflow/docs/project/src/{API.md,README.md} only
61
+
62
+ ./ (depth 0) → SINGLE STRATEGY
63
+ CONTEXT: @*/API.md @*/README.md (src docs, tests docs)
64
+ GENERATES: .workflow/docs/project/{API.md,README.md} only
65
+ ```
66
+
67
+ ## Core Execution Rules
68
+
69
+ 1. **Analyze First**: Module discovery + folder classification before generation
70
+ 2. **Wait for Approval**: Present plan, no execution without user confirmation
71
+ 3. **Execution Strategy**:
72
+ - **<20 modules**: Direct parallel execution (max 4 concurrent per layer)
73
+ - **≥20 modules**: Agent batch processing (4 modules/agent, 73% overhead reduction)
74
+ 4. **Tool Fallback**: Auto-retry with fallback tools on failure
75
+ 5. **Layer Sequential**: Process layers 3→2→1 (bottom-up), parallel batches within layer
76
+ 6. **Safety Check**: Verify only docs files modified in .workflow/docs/
77
+ 7. **Layer-based Grouping**: Group modules by LAYER (not depth) for execution
78
+
79
+ ## Tool Fallback Hierarchy
80
+
81
+ ```javascript
82
+ --tool gemini → [gemini, qwen, codex] // default
83
+ --tool qwen → [qwen, gemini, codex]
84
+ --tool codex → [codex, gemini, qwen]
85
+ ```
86
+
87
+ **Trigger**: Non-zero exit code from generation script
88
+
89
+ | Tool | Best For | Fallback To |
90
+ |--------|--------------------------------|----------------|
91
+ | gemini | Documentation, patterns | qwen → codex |
92
+ | qwen | Architecture, system design | gemini → codex |
93
+ | codex | Implementation, code quality | gemini → qwen |
94
+
95
+ ## Execution Phases
96
+
97
+ ### Phase 1: Discovery & Analysis
98
+
99
+ ```javascript
100
+ // Get project metadata
101
+ Bash({command: "pwd && basename \"$(pwd)\" && git rev-parse --show-toplevel 2>/dev/null || pwd", run_in_background: false});
102
+
103
+ // Get module structure with classification
104
+ Bash({command: "ccw tool exec get_modules_by_depth '{\"format\":\"list\"}' | ccw tool exec classify_folders '{}'", run_in_background: false});
105
+
106
+ // OR with path parameter
107
+ Bash({command: "cd <target-path> && ccw tool exec get_modules_by_depth '{\"format\":\"list\"}' | ccw tool exec classify_folders '{}'", run_in_background: false});
108
+ ```
109
+
110
+ **Parse output** `depth:N|path:<PATH>|type:<code|navigation>|...` to extract module paths, types, and count.
111
+
112
+ **Smart filter**: Auto-detect and skip tests/build/config/vendor based on project tech stack.
113
+
114
+ ### Phase 2: Plan Presentation
115
+
116
+ **For <20 modules**:
117
+ ```
118
+ Documentation Generation Plan:
119
+ Tool: gemini (fallback: qwen → codex)
120
+ Total: 7 modules
121
+ Execution: Direct parallel (< 20 modules threshold)
122
+ Project: myproject
123
+ Output: .workflow/docs/myproject/
124
+
125
+ Will generate docs for:
126
+ - ./core/interfaces (12 files, type: code) - depth 2 [Layer 2] - single strategy
127
+ - ./core (22 files, type: code) - depth 1 [Layer 2] - single strategy
128
+ - ./models (9 files, type: code) - depth 1 [Layer 2] - single strategy
129
+ - ./utils (12 files, type: navigation) - depth 1 [Layer 2] - single strategy
130
+ - . (5 files, type: code) - depth 0 [Layer 1] - single strategy
131
+
132
+ Documentation Strategy (Auto-Selected):
133
+ - Layer 2 (depth 1-2): API.md + README.md (current dir only, reference child docs)
134
+ - Layer 1 (depth 0): API.md + README.md (current dir only, reference child docs)
135
+
136
+ Output Structure:
137
+ - Code folders: API.md + README.md
138
+ - Navigation folders: README.md only
139
+
140
+ Auto-skipped: ./tests, __pycache__, node_modules (15 paths)
141
+ Execution order: Layer 2 → Layer 1
142
+ Estimated time: ~5-10 minutes
143
+
144
+ Confirm execution? (y/n)
145
+ ```
146
+
147
+ **For ≥20 modules**:
148
+ ```
149
+ Documentation Generation Plan:
150
+ Tool: gemini (fallback: qwen → codex)
151
+ Total: 31 modules
152
+ Execution: Agent batch processing (4 modules/agent)
153
+ Project: myproject
154
+ Output: .workflow/docs/myproject/
155
+
156
+ Will generate docs for:
157
+ - ./src/features/auth (12 files, type: code) - depth 3 [Layer 3] - full strategy
158
+ - ./.claude/commands/cli (6 files, type: code) - depth 3 [Layer 3] - full strategy
159
+ - ./src/utils (8 files, type: code) - depth 2 [Layer 2] - single strategy
160
+ ...
161
+
162
+ Documentation Strategy (Auto-Selected):
163
+ - Layer 3 (depth ≥3): API.md + README.md (all subdirs with code)
164
+ - Layer 2 (depth 1-2): API.md + README.md (current dir only)
165
+ - Layer 1 (depth 0): API.md + README.md (current dir only)
166
+
167
+ Output Structure:
168
+ - Code folders: API.md + README.md
169
+ - Navigation folders: README.md only
170
+
171
+ Auto-skipped: ./tests, __pycache__, node_modules (15 paths)
172
+ Execution order: Layer 3 → Layer 2 → Layer 1
173
+
174
+ Agent allocation (by LAYER):
175
+ - Layer 3 (14 modules, depth ≥3): 4 agents [4, 4, 4, 2]
176
+ - Layer 2 (15 modules, depth 1-2): 4 agents [4, 4, 4, 3]
177
+ - Layer 1 (2 modules, depth 0): 1 agent [2]
178
+
179
+ Estimated time: ~15-25 minutes
180
+
181
+ Confirm execution? (y/n)
182
+ ```
183
+
184
+ ### Phase 3A: Direct Execution (<20 modules)
185
+
186
+ **Strategy**: Parallel execution within layer (max 4 concurrent), no agent overhead.
187
+
188
+ **CRITICAL**: All Bash commands use `run_in_background: false` for synchronous execution.
189
+
190
+ ```javascript
191
+ let project_name = detect_project_name();
192
+
193
+ for (let layer of [3, 2, 1]) {
194
+ if (modules_by_layer[layer].length === 0) continue;
195
+ let batches = batch_modules(modules_by_layer[layer], 4);
196
+
197
+ for (let batch of batches) {
198
+ let parallel_tasks = batch.map(module => {
199
+ return async () => {
200
+ let strategy = module.depth >= 3 ? "full" : "single";
201
+ for (let tool of tool_order) {
202
+ Bash({
203
+ command: `cd ${module.path} && ccw tool exec generate_module_docs '{"strategy":"${strategy}","sourcePath":".","projectName":"${project_name}","tool":"${tool}"}'`,
204
+ run_in_background: false
205
+ });
206
+ if (bash_result.exit_code === 0) {
207
+ report(`✅ ${module.path} (Layer ${layer}) docs generated with ${tool}`);
208
+ return true;
209
+ }
210
+ }
211
+ report(`❌ FAILED: ${module.path} (Layer ${layer}) failed all tools`);
212
+ return false;
213
+ };
214
+ });
215
+ await Promise.all(parallel_tasks.map(task => task()));
216
+ }
217
+ }
218
+ ```
219
+
220
+ ### Phase 3B: Agent Batch Execution (≥20 modules)
221
+
222
+ **Strategy**: Batch modules into groups of 4, spawn memory-bridge agents per batch.
223
+
224
+ ```javascript
225
+ // Group modules by LAYER and batch within each layer
226
+ let modules_by_layer = group_by_layer(module_list);
227
+ let tool_order = construct_tool_order(primary_tool);
228
+ let project_name = detect_project_name();
229
+
230
+ for (let layer of [3, 2, 1]) {
231
+ if (modules_by_layer[layer].length === 0) continue;
232
+
233
+ let batches = batch_modules(modules_by_layer[layer], 4);
234
+ let worker_tasks = [];
235
+
236
+ for (let batch of batches) {
237
+ worker_tasks.push(
238
+ Task(
239
+ subagent_type="memory-bridge",
240
+ description=`Generate docs for ${batch.length} modules in Layer ${layer}`,
241
+ prompt=generate_batch_worker_prompt(batch, tool_order, layer, project_name)
242
+ )
243
+ );
244
+ }
245
+
246
+ await parallel_execute(worker_tasks);
247
+ }
248
+ ```
249
+
250
+ **Batch Worker Prompt Template**:
251
+ ```
252
+ PURPOSE: Generate documentation for assigned modules with tool fallback
253
+
254
+ TASK: Generate API.md + README.md for assigned modules using specified strategies.
255
+
256
+ PROJECT: {{project_name}}
257
+ OUTPUT: .workflow/docs/{{project_name}}/
258
+
259
+ MODULES:
260
+ {{module_path_1}} (strategy: {{strategy_1}}, type: {{folder_type_1}})
261
+ {{module_path_2}} (strategy: {{strategy_2}}, type: {{folder_type_2}})
262
+ ...
263
+
264
+ TOOLS (try in order): {{tool_1}}, {{tool_2}}, {{tool_3}}
265
+
266
+ EXECUTION SCRIPT: ccw tool exec generate_module_docs
267
+ - Accepts strategy parameter: full | single
268
+ - Accepts folder type detection: code | navigation
269
+ - Tool execution via direct CLI commands (gemini/qwen/codex)
270
+ - Output path: .workflow/docs/{{project_name}}/{module_path}/
271
+
272
+ EXECUTION FLOW (for each module):
273
+ 1. Tool fallback loop (exit on first success):
274
+ for tool in {{tool_1}} {{tool_2}} {{tool_3}}; do
275
+ Bash({
276
+ command: `cd "{{module_path}}" && ccw tool exec generate_module_docs '{"strategy":"{{strategy}}","sourcePath":".","projectName":"{{project_name}}","tool":"${tool}"}'`,
277
+ run_in_background: false
278
+ })
279
+ exit_code=$?
280
+
281
+ if [ $exit_code -eq 0 ]; then
282
+ report "✅ {{module_path}} docs generated with $tool"
283
+ break
284
+ else
285
+ report "⚠️ {{module_path}} failed with $tool, trying next..."
286
+ continue
287
+ fi
288
+ done
289
+
290
+ 2. Handle complete failure (all tools failed):
291
+ if [ $exit_code -ne 0 ]; then
292
+ report "❌ FAILED: {{module_path}} - all tools exhausted"
293
+ # Continue to next module (do not abort batch)
294
+ fi
295
+
296
+ FOLDER TYPE HANDLING:
297
+ - code: Generate API.md + README.md
298
+ - navigation: Generate README.md only
299
+
300
+ FAILURE HANDLING:
301
+ - Module-level isolation: One module's failure does not affect others
302
+ - Exit code detection: Non-zero exit code triggers next tool
303
+ - Exhaustion reporting: Log modules where all tools failed
304
+ - Batch continuation: Always process remaining modules
305
+
306
+ REPORTING FORMAT:
307
+ Per-module status:
308
+ ✅ path/to/module docs generated with {tool}
309
+ ⚠️ path/to/module failed with {tool}, trying next...
310
+ ❌ FAILED: path/to/module - all tools exhausted
311
+ ```
312
+
313
+ ### Phase 4: Project-Level Documentation
314
+
315
+ **After all module documentation is generated, create project-level documentation files.**
316
+
317
+ ```javascript
318
+ let project_name = detect_project_name();
319
+ let project_root = get_project_root();
320
+
321
+ // Step 1: Generate Project README
322
+ report("Generating project README.md...");
323
+ for (let tool of tool_order) {
324
+ Bash({
325
+ command: `cd ${project_root} && ccw tool exec generate_module_docs '{"strategy":"project-readme","sourcePath":".","projectName":"${project_name}","tool":"${tool}"}'`,
326
+ run_in_background: false
327
+ });
328
+ if (bash_result.exit_code === 0) {
329
+ report(`✅ Project README generated with ${tool}`);
330
+ break;
331
+ }
332
+ }
333
+
334
+ // Step 2: Generate Architecture & Examples
335
+ report("Generating ARCHITECTURE.md and EXAMPLES.md...");
336
+ for (let tool of tool_order) {
337
+ Bash({
338
+ command: `cd ${project_root} && ccw tool exec generate_module_docs '{"strategy":"project-architecture","sourcePath":".","projectName":"${project_name}","tool":"${tool}"}'`,
339
+ run_in_background: false
340
+ });
341
+ if (bash_result.exit_code === 0) {
342
+ report(`✅ Architecture docs generated with ${tool}`);
343
+ break;
344
+ }
345
+ }
346
+
347
+ // Step 3: Generate HTTP API documentation (if API routes detected)
348
+ Bash({command: 'rg "router\\.|@Get|@Post" -g "*.{ts,js,py}" 2>/dev/null && echo "API_FOUND" || echo "NO_API"', run_in_background: false});
349
+ if (bash_result.stdout.includes("API_FOUND")) {
350
+ report("Generating HTTP API documentation...");
351
+ for (let tool of tool_order) {
352
+ Bash({
353
+ command: `cd ${project_root} && ccw tool exec generate_module_docs '{"strategy":"http-api","sourcePath":".","projectName":"${project_name}","tool":"${tool}"}'`,
354
+ run_in_background: false
355
+ });
356
+ if (bash_result.exit_code === 0) {
357
+ report(`✅ HTTP API docs generated with ${tool}`);
358
+ break;
359
+ }
360
+ }
361
+ }
362
+ ```
363
+
364
+ **Expected Output**:
365
+ ```
366
+ Project-Level Documentation:
367
+ ✅ README.md (project root overview)
368
+ ✅ ARCHITECTURE.md (system design)
369
+ ✅ EXAMPLES.md (usage examples)
370
+ ✅ api/README.md (HTTP API reference) [optional]
371
+ ```
372
+
373
+ ### Phase 5: Verification
374
+
375
+ ```javascript
376
+ // Check documentation files created
377
+ Bash({command: 'find .workflow/docs -type f -name "*.md" 2>/dev/null | wc -l', run_in_background: false});
378
+
379
+ // Display structure
380
+ Bash({command: 'tree -L 3 .workflow/docs/', run_in_background: false});
381
+ ```
382
+
383
+ **Result Summary**:
384
+ ```
385
+ Documentation Generation Summary:
386
+ Total: 31 | Success: 29 | Failed: 2
387
+ Tool usage: gemini: 25, qwen: 4, codex: 0
388
+ Failed: path1, path2
389
+
390
+ Generated documentation:
391
+ .workflow/docs/myproject/
392
+ ├── src/
393
+ │ ├── auth/
394
+ │ │ ├── API.md
395
+ │ │ └── README.md
396
+ │ └── utils/
397
+ │ └── README.md
398
+ └── README.md
399
+ ```
400
+
401
+ ## Error Handling
402
+
403
+ **Batch Worker**: Tool fallback per module, batch isolation, clear status reporting
404
+ **Coordinator**: Invalid path abort, user decline handling, verification with cleanup
405
+ **Fallback Triggers**: Non-zero exit code, script timeout, unexpected output
406
+
407
+ ## Output Structure
408
+
409
+ ```
410
+ .workflow/docs/{project_name}/
411
+ ├── src/ # Mirrors source structure
412
+ │ ├── modules/
413
+ │ │ ├── README.md # Navigation
414
+ │ │ ├── auth/
415
+ │ │ │ ├── API.md # API signatures
416
+ │ │ │ ├── README.md # Module docs
417
+ │ │ │ └── middleware/
418
+ │ │ │ ├── API.md
419
+ │ │ │ └── README.md
420
+ │ │ └── api/
421
+ │ │ ├── API.md
422
+ │ │ └── README.md
423
+ │ └── utils/
424
+ │ └── README.md
425
+ ├── lib/
426
+ │ └── core/
427
+ │ ├── API.md
428
+ │ └── README.md
429
+ ├── README.md # ✨ Project root overview (auto-generated)
430
+ ├── ARCHITECTURE.md # ✨ System design (auto-generated)
431
+ ├── EXAMPLES.md # ✨ Usage examples (auto-generated)
432
+ └── api/ # ✨ Optional (auto-generated if HTTP API detected)
433
+ └── README.md # HTTP API reference
434
+ ```
435
+
436
+ ## Usage Examples
437
+
438
+ ```bash
439
+ # Full project documentation generation
440
+ /memory:docs-full-cli
441
+
442
+ # Target specific directory
443
+ /memory:docs-full-cli src/features/auth
444
+ /memory:docs-full-cli .claude
445
+
446
+ # Use specific tool
447
+ /memory:docs-full-cli --tool qwen
448
+ /memory:docs-full-cli src --tool qwen
449
+ ```
450
+
451
+ ## Key Advantages
452
+
453
+ - **Efficiency**: 30 modules → 8 agents (73% reduction from sequential)
454
+ - **Resilience**: 3-tier tool fallback per module
455
+ - **Performance**: Parallel batches, no concurrency limits
456
+ - **Observability**: Per-module tool usage, batch-level metrics
457
+ - **Automation**: Zero configuration - strategy auto-selected by directory depth
458
+ - **Path Mirroring**: Clear 1:1 mapping between source and documentation structure
459
+
460
+ ## Template Reference
461
+
462
+ Templates used from `~/.claude/workflows/cli-templates/prompts/documentation/`:
463
+ - `api.txt`: Code API documentation (Part A: Code API, Part B: HTTP API)
464
+ - `module-readme.txt`: Module purpose, usage, dependencies
465
+ - `folder-navigation.txt`: Navigation README for folders with subdirectories
466
+
467
+ ## Related Commands
468
+
469
+ - `/memory:docs` - Agent-based documentation planning workflow
470
+ - `/memory:docs-related-cli` - Update docs for changed modules only
471
+ - `/workflow:execute` - Execute documentation tasks (when using agent mode)