claude-code-workflow 6.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 (350) hide show
  1. package/.claude/agents/action-planning-agent.md +778 -0
  2. package/.claude/agents/cli-execution-agent.md +270 -0
  3. package/.claude/agents/cli-explore-agent.md +182 -0
  4. package/.claude/agents/cli-lite-planning-agent.md +396 -0
  5. package/.claude/agents/cli-planning-agent.md +558 -0
  6. package/.claude/agents/code-developer.md +310 -0
  7. package/.claude/agents/conceptual-planning-agent.md +308 -0
  8. package/.claude/agents/context-search-agent.md +582 -0
  9. package/.claude/agents/doc-generator.md +330 -0
  10. package/.claude/agents/memory-bridge.md +94 -0
  11. package/.claude/agents/test-context-search-agent.md +399 -0
  12. package/.claude/agents/test-fix-agent.md +343 -0
  13. package/.claude/agents/ui-design-agent.md +593 -0
  14. package/.claude/agents/universal-executor.md +131 -0
  15. package/.claude/commands/cli/cli-init.md +440 -0
  16. package/.claude/commands/enhance-prompt.md +93 -0
  17. package/.claude/commands/memory/code-map-memory.md +687 -0
  18. package/.claude/commands/memory/docs-full-cli.md +471 -0
  19. package/.claude/commands/memory/docs-related-cli.md +386 -0
  20. package/.claude/commands/memory/docs.md +615 -0
  21. package/.claude/commands/memory/load-skill-memory.md +182 -0
  22. package/.claude/commands/memory/load.md +240 -0
  23. package/.claude/commands/memory/skill-memory.md +525 -0
  24. package/.claude/commands/memory/style-skill-memory.md +396 -0
  25. package/.claude/commands/memory/tech-research.md +477 -0
  26. package/.claude/commands/memory/update-full.md +332 -0
  27. package/.claude/commands/memory/update-related.md +332 -0
  28. package/.claude/commands/memory/workflow-skill-memory.md +517 -0
  29. package/.claude/commands/task/breakdown.md +204 -0
  30. package/.claude/commands/task/create.md +152 -0
  31. package/.claude/commands/task/execute.md +270 -0
  32. package/.claude/commands/task/replan.md +437 -0
  33. package/.claude/commands/version.md +254 -0
  34. package/.claude/commands/workflow/action-plan-verify.md +447 -0
  35. package/.claude/commands/workflow/brainstorm/api-designer.md +585 -0
  36. package/.claude/commands/workflow/brainstorm/artifacts.md +452 -0
  37. package/.claude/commands/workflow/brainstorm/auto-parallel.md +443 -0
  38. package/.claude/commands/workflow/brainstorm/data-architect.md +220 -0
  39. package/.claude/commands/workflow/brainstorm/product-manager.md +200 -0
  40. package/.claude/commands/workflow/brainstorm/product-owner.md +200 -0
  41. package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -0
  42. package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
  43. package/.claude/commands/workflow/brainstorm/synthesis.md +398 -0
  44. package/.claude/commands/workflow/brainstorm/system-architect.md +387 -0
  45. package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -0
  46. package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -0
  47. package/.claude/commands/workflow/execute.md +460 -0
  48. package/.claude/commands/workflow/init.md +164 -0
  49. package/.claude/commands/workflow/lite-execute.md +686 -0
  50. package/.claude/commands/workflow/lite-fix.md +621 -0
  51. package/.claude/commands/workflow/lite-plan.md +592 -0
  52. package/.claude/commands/workflow/plan.md +551 -0
  53. package/.claude/commands/workflow/replan.md +515 -0
  54. package/.claude/commands/workflow/review-fix.md +646 -0
  55. package/.claude/commands/workflow/review-module-cycle.md +795 -0
  56. package/.claude/commands/workflow/review-session-cycle.md +805 -0
  57. package/.claude/commands/workflow/review.md +291 -0
  58. package/.claude/commands/workflow/session/complete.md +500 -0
  59. package/.claude/commands/workflow/session/list.md +96 -0
  60. package/.claude/commands/workflow/session/resume.md +61 -0
  61. package/.claude/commands/workflow/session/start.md +200 -0
  62. package/.claude/commands/workflow/status.md +352 -0
  63. package/.claude/commands/workflow/tdd-plan.md +460 -0
  64. package/.claude/commands/workflow/tdd-verify.md +386 -0
  65. package/.claude/commands/workflow/test-cycle-execute.md +498 -0
  66. package/.claude/commands/workflow/test-fix-gen.md +699 -0
  67. package/.claude/commands/workflow/test-gen.md +529 -0
  68. package/.claude/commands/workflow/tools/conflict-resolution.md +680 -0
  69. package/.claude/commands/workflow/tools/context-gather.md +434 -0
  70. package/.claude/commands/workflow/tools/task-generate-agent.md +291 -0
  71. package/.claude/commands/workflow/tools/task-generate-tdd.md +518 -0
  72. package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
  73. package/.claude/commands/workflow/tools/test-concept-enhanced.md +163 -0
  74. package/.claude/commands/workflow/tools/test-context-gather.md +235 -0
  75. package/.claude/commands/workflow/tools/test-task-generate.md +256 -0
  76. package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -0
  77. package/.claude/commands/workflow/ui-design/codify-style.md +652 -0
  78. package/.claude/commands/workflow/ui-design/design-sync.md +454 -0
  79. package/.claude/commands/workflow/ui-design/explore-auto.md +678 -0
  80. package/.claude/commands/workflow/ui-design/generate.md +504 -0
  81. package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -0
  82. package/.claude/commands/workflow/ui-design/import-from-code.md +537 -0
  83. package/.claude/commands/workflow/ui-design/layout-extract.md +788 -0
  84. package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -0
  85. package/.claude/commands/workflow/ui-design/style-extract.md +773 -0
  86. package/.claude/scripts/classify-folders.sh +35 -0
  87. package/.claude/scripts/convert_tokens_to_css.sh +225 -0
  88. package/.claude/scripts/detect_changed_modules.sh +157 -0
  89. package/.claude/scripts/discover-design-files.sh +83 -0
  90. package/.claude/scripts/extract-animations.js +243 -0
  91. package/.claude/scripts/extract-computed-styles.js +118 -0
  92. package/.claude/scripts/extract-layout-structure.js +411 -0
  93. package/.claude/scripts/generate_module_docs.sh +713 -0
  94. package/.claude/scripts/get_modules_by_depth.sh +166 -0
  95. package/.claude/scripts/ui-generate-preview.sh +391 -0
  96. package/.claude/scripts/ui-instantiate-prototypes.sh +811 -0
  97. package/.claude/scripts/update_module_claude.sh +333 -0
  98. package/.claude/skills/command-guide/SKILL.md +388 -0
  99. package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +592 -0
  100. package/.claude/skills/command-guide/guides/cli-tools-guide.md +410 -0
  101. package/.claude/skills/command-guide/guides/examples.md +537 -0
  102. package/.claude/skills/command-guide/guides/getting-started.md +242 -0
  103. package/.claude/skills/command-guide/guides/implementation-details.md +1010 -0
  104. package/.claude/skills/command-guide/guides/index-structure.md +326 -0
  105. package/.claude/skills/command-guide/guides/troubleshooting.md +92 -0
  106. package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +316 -0
  107. package/.claude/skills/command-guide/guides/workflow-patterns.md +662 -0
  108. package/.claude/skills/command-guide/index/all-commands.json +783 -0
  109. package/.claude/skills/command-guide/index/by-category.json +811 -0
  110. package/.claude/skills/command-guide/index/by-use-case.json +797 -0
  111. package/.claude/skills/command-guide/index/command-relationships.json +307 -0
  112. package/.claude/skills/command-guide/index/essential-commands.json +123 -0
  113. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +722 -0
  114. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +270 -0
  115. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +182 -0
  116. package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +396 -0
  117. package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +558 -0
  118. package/.claude/skills/command-guide/reference/agents/code-developer.md +310 -0
  119. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +328 -0
  120. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +577 -0
  121. package/.claude/skills/command-guide/reference/agents/doc-generator.md +330 -0
  122. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +94 -0
  123. package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +399 -0
  124. package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +343 -0
  125. package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +593 -0
  126. package/.claude/skills/command-guide/reference/agents/universal-executor.md +131 -0
  127. package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +440 -0
  128. package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +93 -0
  129. package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +687 -0
  130. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -0
  131. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -0
  132. package/.claude/skills/command-guide/reference/commands/memory/docs.md +610 -0
  133. package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +182 -0
  134. package/.claude/skills/command-guide/reference/commands/memory/load.md +240 -0
  135. package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +525 -0
  136. package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +396 -0
  137. package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +477 -0
  138. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -0
  139. package/.claude/skills/command-guide/reference/commands/memory/update-related.md +332 -0
  140. package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +517 -0
  141. package/.claude/skills/command-guide/reference/commands/task/breakdown.md +204 -0
  142. package/.claude/skills/command-guide/reference/commands/task/create.md +152 -0
  143. package/.claude/skills/command-guide/reference/commands/task/execute.md +270 -0
  144. package/.claude/skills/command-guide/reference/commands/task/replan.md +437 -0
  145. package/.claude/skills/command-guide/reference/commands/version.md +254 -0
  146. package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +447 -0
  147. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +585 -0
  148. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +604 -0
  149. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +466 -0
  150. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +220 -0
  151. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +200 -0
  152. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +200 -0
  153. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +200 -0
  154. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
  155. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +496 -0
  156. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +387 -0
  157. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +221 -0
  158. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +221 -0
  159. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +460 -0
  160. package/.claude/skills/command-guide/reference/commands/workflow/init.md +164 -0
  161. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +634 -0
  162. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +602 -0
  163. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +582 -0
  164. package/.claude/skills/command-guide/reference/commands/workflow/plan.md +551 -0
  165. package/.claude/skills/command-guide/reference/commands/workflow/replan.md +515 -0
  166. package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +646 -0
  167. package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +795 -0
  168. package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +805 -0
  169. package/.claude/skills/command-guide/reference/commands/workflow/review.md +291 -0
  170. package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +500 -0
  171. package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +96 -0
  172. package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +61 -0
  173. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +180 -0
  174. package/.claude/skills/command-guide/reference/commands/workflow/status.md +352 -0
  175. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +460 -0
  176. package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +386 -0
  177. package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +498 -0
  178. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +699 -0
  179. package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +529 -0
  180. package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +680 -0
  181. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -0
  182. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +151 -0
  183. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +518 -0
  184. package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
  185. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +163 -0
  186. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +235 -0
  187. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +256 -0
  188. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +1150 -0
  189. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +652 -0
  190. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +454 -0
  191. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +678 -0
  192. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +504 -0
  193. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +745 -0
  194. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +537 -0
  195. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +788 -0
  196. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +356 -0
  197. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +773 -0
  198. package/.claude/skills/command-guide/scripts/analyze_commands.py +502 -0
  199. package/.claude/skills/command-guide/scripts/update-index.sh +130 -0
  200. package/.claude/skills/command-guide/templates/issue-bug.md +104 -0
  201. package/.claude/skills/command-guide/templates/issue-diagnosis.md +275 -0
  202. package/.claude/skills/command-guide/templates/issue-feature.md +97 -0
  203. package/.claude/skills/command-guide/templates/issue-question.md +141 -0
  204. package/.claude/skills/prompt-enhancer/SKILL.md +124 -0
  205. package/.claude/workflows/_template-compare-matrix.html +692 -0
  206. package/.claude/workflows/cli-templates/fix-plan-template.json +75 -0
  207. package/.claude/workflows/cli-templates/fix-progress-template.json +48 -0
  208. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -0
  209. package/.claude/workflows/cli-templates/planning-roles/data-architect.md +120 -0
  210. package/.claude/workflows/cli-templates/planning-roles/product-manager.md +119 -0
  211. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -0
  212. package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +186 -0
  213. package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +281 -0
  214. package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +414 -0
  215. package/.claude/workflows/cli-templates/planning-roles/system-architect.md +106 -0
  216. package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +124 -0
  217. package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +379 -0
  218. package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +240 -0
  219. package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +127 -0
  220. package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +115 -0
  221. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +37 -0
  222. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +33 -0
  223. package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +29 -0
  224. package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +28 -0
  225. package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +29 -0
  226. package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +29 -0
  227. package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +29 -0
  228. package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +70 -0
  229. package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +55 -0
  230. package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +58 -0
  231. package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +55 -0
  232. package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +55 -0
  233. package/.claude/workflows/cli-templates/prompts/documentation/api.txt +15 -0
  234. package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +27 -0
  235. package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +49 -0
  236. package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +41 -0
  237. package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +35 -0
  238. package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +35 -0
  239. package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +165 -0
  240. package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +109 -0
  241. package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +30 -0
  242. package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +28 -0
  243. package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +127 -0
  244. package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +30 -0
  245. package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +359 -0
  246. package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +185 -0
  247. package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +179 -0
  248. package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +95 -0
  249. package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +92 -0
  250. package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +28 -0
  251. package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +28 -0
  252. package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +27 -0
  253. package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +224 -0
  254. package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +176 -0
  255. package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +131 -0
  256. package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +286 -0
  257. package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +172 -0
  258. package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +98 -0
  259. package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +224 -0
  260. package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +98 -0
  261. package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +53 -0
  262. package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +123 -0
  263. package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +182 -0
  264. package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +234 -0
  265. package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +124 -0
  266. package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +273 -0
  267. package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +219 -0
  268. package/.claude/workflows/cli-templates/schemas/project-json-schema.json +221 -0
  269. package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +82 -0
  270. package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +51 -0
  271. package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +91 -0
  272. package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +107 -0
  273. package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +58 -0
  274. package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +79 -0
  275. package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +103 -0
  276. package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +83 -0
  277. package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +247 -0
  278. package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +342 -0
  279. package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +145 -0
  280. package/.claude/workflows/context-search-strategy.md +77 -0
  281. package/.claude/workflows/intelligent-tools-strategy.md +662 -0
  282. package/.claude/workflows/review-directory-specification.md +336 -0
  283. package/.claude/workflows/task-core.md +214 -0
  284. package/.claude/workflows/tool-strategy.md +71 -0
  285. package/.claude/workflows/workflow-architecture.md +942 -0
  286. package/.codex/AGENTS.md +330 -0
  287. package/.gemini/GEMINI.md +164 -0
  288. package/.qwen/QWEN.md +164 -0
  289. package/CLAUDE.md +91 -0
  290. package/LICENSE +21 -0
  291. package/README.md +219 -0
  292. package/ccw/README.md +121 -0
  293. package/ccw/bin/ccw.js +10 -0
  294. package/ccw/src/cli.js +100 -0
  295. package/ccw/src/commands/install.js +324 -0
  296. package/ccw/src/commands/list.js +37 -0
  297. package/ccw/src/commands/serve.js +67 -0
  298. package/ccw/src/commands/uninstall.js +238 -0
  299. package/ccw/src/commands/upgrade.js +307 -0
  300. package/ccw/src/commands/view.js +14 -0
  301. package/ccw/src/core/dashboard-generator-patch.js +29 -0
  302. package/ccw/src/core/dashboard-generator.js +667 -0
  303. package/ccw/src/core/data-aggregator.js +409 -0
  304. package/ccw/src/core/lite-scanner.js +290 -0
  305. package/ccw/src/core/manifest.js +201 -0
  306. package/ccw/src/core/server.js +1327 -0
  307. package/ccw/src/core/server.js.bak +385 -0
  308. package/ccw/src/core/server_original.bak +385 -0
  309. package/ccw/src/core/session-scanner.js +235 -0
  310. package/ccw/src/index.js +9 -0
  311. package/ccw/src/templates/dashboard-js/api.js +200 -0
  312. package/ccw/src/templates/dashboard-js/components/_conflict_tab.js +112 -0
  313. package/ccw/src/templates/dashboard-js/components/_exp_helpers.js +54 -0
  314. package/ccw/src/templates/dashboard-js/components/_review_tab.js +640 -0
  315. package/ccw/src/templates/dashboard-js/components/carousel.js +398 -0
  316. package/ccw/src/templates/dashboard-js/components/flowchart.js +493 -0
  317. package/ccw/src/templates/dashboard-js/components/hook-manager.js +273 -0
  318. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +506 -0
  319. package/ccw/src/templates/dashboard-js/components/modals.js +260 -0
  320. package/ccw/src/templates/dashboard-js/components/navigation.js +239 -0
  321. package/ccw/src/templates/dashboard-js/components/notifications.js +194 -0
  322. package/ccw/src/templates/dashboard-js/components/sidebar.js +31 -0
  323. package/ccw/src/templates/dashboard-js/components/tabs-context.js +1093 -0
  324. package/ccw/src/templates/dashboard-js/components/tabs-other.js +273 -0
  325. package/ccw/src/templates/dashboard-js/components/task-drawer-core.js +477 -0
  326. package/ccw/src/templates/dashboard-js/components/task-drawer-renderers.js +447 -0
  327. package/ccw/src/templates/dashboard-js/components/theme.js +21 -0
  328. package/ccw/src/templates/dashboard-js/main.js +57 -0
  329. package/ccw/src/templates/dashboard-js/state.js +37 -0
  330. package/ccw/src/templates/dashboard-js/utils.js +153 -0
  331. package/ccw/src/templates/dashboard-js/views/fix-session.js +180 -0
  332. package/ccw/src/templates/dashboard-js/views/home.js +193 -0
  333. package/ccw/src/templates/dashboard-js/views/hook-manager.js +387 -0
  334. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +390 -0
  335. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +271 -0
  336. package/ccw/src/templates/dashboard-js/views/project-overview.js +246 -0
  337. package/ccw/src/templates/dashboard-js/views/review-session.js +711 -0
  338. package/ccw/src/templates/dashboard-js/views/session-detail.js +770 -0
  339. package/ccw/src/templates/dashboard.css +7660 -0
  340. package/ccw/src/templates/dashboard.html +630 -0
  341. package/ccw/src/templates/dashboard_tailwind.html +42 -0
  342. package/ccw/src/templates/dashboard_test.html +37 -0
  343. package/ccw/src/templates/review-cycle-dashboard.html +1930 -0
  344. package/ccw/src/templates/tailwind-base.css +212 -0
  345. package/ccw/src/templates/workflow-dashboard.html +401 -0
  346. package/ccw/src/utils/browser-launcher.js +49 -0
  347. package/ccw/src/utils/file-utils.js +48 -0
  348. package/ccw/src/utils/path-resolver.js +279 -0
  349. package/ccw/src/utils/ui.js +148 -0
  350. package/package.json +66 -0
@@ -0,0 +1,713 @@
1
+ #!/bin/bash
2
+ # Generate documentation for modules and projects with multiple strategies
3
+ # Usage: generate_module_docs.sh <strategy> <source_path> <project_name> [tool] [model]
4
+ # strategy: full|single|project-readme|project-architecture|http-api
5
+ # source_path: Path to the source module directory (or project root for project-level docs)
6
+ # project_name: Project name for output path (e.g., "myproject")
7
+ # tool: gemini|qwen|codex (default: gemini)
8
+ # model: Model name (optional, uses tool defaults)
9
+ #
10
+ # Default Models:
11
+ # gemini: gemini-2.5-flash
12
+ # qwen: coder-model
13
+ # codex: gpt5-codex
14
+ #
15
+ # Module-Level Strategies:
16
+ # full: Full documentation generation
17
+ # - Read: All files in current and subdirectories (@**/*)
18
+ # - Generate: API.md + README.md for each directory containing code files
19
+ # - Use: Deep directories (Layer 3), comprehensive documentation
20
+ #
21
+ # single: Single-layer documentation
22
+ # - Read: Current directory code + child API.md/README.md files
23
+ # - Generate: API.md + README.md only in current directory
24
+ # - Use: Upper layers (Layer 1-2), incremental updates
25
+ #
26
+ # Project-Level Strategies:
27
+ # project-readme: Project overview documentation
28
+ # - Read: All module API.md and README.md files
29
+ # - Generate: README.md (project root)
30
+ # - Use: After all module docs are generated
31
+ #
32
+ # project-architecture: System design documentation
33
+ # - Read: All module docs + project README
34
+ # - Generate: ARCHITECTURE.md + EXAMPLES.md
35
+ # - Use: After project README is generated
36
+ #
37
+ # http-api: HTTP API documentation
38
+ # - Read: API route files + existing docs
39
+ # - Generate: api/README.md
40
+ # - Use: For projects with HTTP APIs
41
+ #
42
+ # Output Structure:
43
+ # Module docs: .workflow/docs/{project_name}/{source_path}/API.md
44
+ # Module docs: .workflow/docs/{project_name}/{source_path}/README.md
45
+ # Project docs: .workflow/docs/{project_name}/README.md
46
+ # Project docs: .workflow/docs/{project_name}/ARCHITECTURE.md
47
+ # Project docs: .workflow/docs/{project_name}/EXAMPLES.md
48
+ # API docs: .workflow/docs/{project_name}/api/README.md
49
+ #
50
+ # Features:
51
+ # - Path mirroring: source structure → docs structure
52
+ # - Template-driven generation
53
+ # - Respects .gitignore patterns
54
+ # - Detects code vs navigation folders
55
+ # - Tool fallback support
56
+
57
+ # Build exclusion filters from .gitignore
58
+ build_exclusion_filters() {
59
+ local filters=""
60
+
61
+ # Common system/cache directories to exclude
62
+ local system_excludes=(
63
+ ".git" "__pycache__" "node_modules" ".venv" "venv" "env"
64
+ "dist" "build" ".cache" ".pytest_cache" ".mypy_cache"
65
+ "coverage" ".nyc_output" "logs" "tmp" "temp" ".workflow"
66
+ )
67
+
68
+ for exclude in "${system_excludes[@]}"; do
69
+ filters+=" -not -path '*/$exclude' -not -path '*/$exclude/*'"
70
+ done
71
+
72
+ # Find and parse .gitignore (current dir first, then git root)
73
+ local gitignore_file=""
74
+
75
+ # Check current directory first
76
+ if [ -f ".gitignore" ]; then
77
+ gitignore_file=".gitignore"
78
+ else
79
+ # Try to find git root and check for .gitignore there
80
+ local git_root=$(git rev-parse --show-toplevel 2>/dev/null)
81
+ if [ -n "$git_root" ] && [ -f "$git_root/.gitignore" ]; then
82
+ gitignore_file="$git_root/.gitignore"
83
+ fi
84
+ fi
85
+
86
+ # Parse .gitignore if found
87
+ if [ -n "$gitignore_file" ]; then
88
+ while IFS= read -r line; do
89
+ # Skip empty lines and comments
90
+ [[ -z "$line" || "$line" =~ ^[[:space:]]*# ]] && continue
91
+
92
+ # Remove trailing slash and whitespace
93
+ line=$(echo "$line" | sed 's|/$||' | xargs)
94
+
95
+ # Skip wildcards patterns (too complex for simple find)
96
+ [[ "$line" =~ \* ]] && continue
97
+
98
+ # Add to filters
99
+ filters+=" -not -path '*/$line' -not -path '*/$line/*'"
100
+ done < "$gitignore_file"
101
+ fi
102
+
103
+ echo "$filters"
104
+ }
105
+
106
+ # Detect folder type (code vs navigation)
107
+ detect_folder_type() {
108
+ local target_path="$1"
109
+ local exclusion_filters="$2"
110
+
111
+ # Count code files (primary indicators)
112
+ local code_count=$(eval "find \"$target_path\" -maxdepth 1 -type f \\( -name '*.ts' -o -name '*.tsx' -o -name '*.js' -o -name '*.jsx' -o -name '*.py' -o -name '*.sh' -o -name '*.go' -o -name '*.rs' \\) $exclusion_filters 2>/dev/null" | wc -l)
113
+
114
+ if [ $code_count -gt 0 ]; then
115
+ echo "code"
116
+ else
117
+ echo "navigation"
118
+ fi
119
+ }
120
+
121
+ # Scan directory structure and generate structured information
122
+ scan_directory_structure() {
123
+ local target_path="$1"
124
+ local strategy="$2"
125
+
126
+ if [ ! -d "$target_path" ]; then
127
+ echo "Directory not found: $target_path"
128
+ return 1
129
+ fi
130
+
131
+ local exclusion_filters=$(build_exclusion_filters)
132
+ local structure_info=""
133
+
134
+ # Get basic directory info
135
+ local dir_name=$(basename "$target_path")
136
+ local total_files=$(eval "find \"$target_path\" -type f $exclusion_filters 2>/dev/null" | wc -l)
137
+ local total_dirs=$(eval "find \"$target_path\" -type d $exclusion_filters 2>/dev/null" | wc -l)
138
+ local folder_type=$(detect_folder_type "$target_path" "$exclusion_filters")
139
+
140
+ structure_info+="Directory: $dir_name\n"
141
+ structure_info+="Total files: $total_files\n"
142
+ structure_info+="Total directories: $total_dirs\n"
143
+ structure_info+="Folder type: $folder_type\n\n"
144
+
145
+ if [ "$strategy" = "full" ]; then
146
+ # For full: show all subdirectories with file counts
147
+ structure_info+="Subdirectories with files:\n"
148
+ while IFS= read -r dir; do
149
+ if [ -n "$dir" ] && [ "$dir" != "$target_path" ]; then
150
+ local rel_path=${dir#$target_path/}
151
+ local file_count=$(eval "find \"$dir\" -maxdepth 1 -type f $exclusion_filters 2>/dev/null" | wc -l)
152
+ if [ $file_count -gt 0 ]; then
153
+ local subdir_type=$(detect_folder_type "$dir" "$exclusion_filters")
154
+ structure_info+=" - $rel_path/ ($file_count files, type: $subdir_type)\n"
155
+ fi
156
+ fi
157
+ done < <(eval "find \"$target_path\" -type d $exclusion_filters 2>/dev/null")
158
+ else
159
+ # For single: show direct children only
160
+ structure_info+="Direct subdirectories:\n"
161
+ while IFS= read -r dir; do
162
+ if [ -n "$dir" ]; then
163
+ local dir_name=$(basename "$dir")
164
+ local file_count=$(eval "find \"$dir\" -maxdepth 1 -type f $exclusion_filters 2>/dev/null" | wc -l)
165
+ local has_api=$([ -f "$dir/API.md" ] && echo " [has API.md]" || echo "")
166
+ local has_readme=$([ -f "$dir/README.md" ] && echo " [has README.md]" || echo "")
167
+ structure_info+=" - $dir_name/ ($file_count files)$has_api$has_readme\n"
168
+ fi
169
+ done < <(eval "find \"$target_path\" -maxdepth 1 -type d $exclusion_filters 2>/dev/null" | grep -v "^$target_path$")
170
+ fi
171
+
172
+ # Show main file types in current directory
173
+ structure_info+="\nCurrent directory files:\n"
174
+ local code_files=$(eval "find \"$target_path\" -maxdepth 1 -type f \\( -name '*.ts' -o -name '*.tsx' -o -name '*.js' -o -name '*.jsx' -o -name '*.py' -o -name '*.sh' -o -name '*.go' -o -name '*.rs' \\) $exclusion_filters 2>/dev/null" | wc -l)
175
+ local config_files=$(eval "find \"$target_path\" -maxdepth 1 -type f \\( -name '*.json' -o -name '*.yaml' -o -name '*.yml' -o -name '*.toml' \\) $exclusion_filters 2>/dev/null" | wc -l)
176
+ local doc_files=$(eval "find \"$target_path\" -maxdepth 1 -type f -name '*.md' $exclusion_filters 2>/dev/null" | wc -l)
177
+
178
+ structure_info+=" - Code files: $code_files\n"
179
+ structure_info+=" - Config files: $config_files\n"
180
+ structure_info+=" - Documentation: $doc_files\n"
181
+
182
+ printf "%b" "$structure_info"
183
+ }
184
+
185
+ # Calculate output path based on source path and project name
186
+ calculate_output_path() {
187
+ local source_path="$1"
188
+ local project_name="$2"
189
+ local project_root="$3"
190
+
191
+ # Get absolute path of source (normalize to Unix-style path)
192
+ local abs_source=$(cd "$source_path" && pwd)
193
+
194
+ # Normalize project root to same format
195
+ local norm_project_root=$(cd "$project_root" && pwd)
196
+
197
+ # Calculate relative path from project root
198
+ local rel_path="${abs_source#$norm_project_root}"
199
+
200
+ # Remove leading slash if present
201
+ rel_path="${rel_path#/}"
202
+
203
+ # If source is project root, use project name directly
204
+ if [ "$abs_source" = "$norm_project_root" ] || [ -z "$rel_path" ]; then
205
+ echo "$norm_project_root/.workflow/docs/$project_name"
206
+ else
207
+ echo "$norm_project_root/.workflow/docs/$project_name/$rel_path"
208
+ fi
209
+ }
210
+
211
+ generate_module_docs() {
212
+ local strategy="$1"
213
+ local source_path="$2"
214
+ local project_name="$3"
215
+ local tool="${4:-gemini}"
216
+ local model="$5"
217
+
218
+ # Validate parameters
219
+ if [ -z "$strategy" ] || [ -z "$source_path" ] || [ -z "$project_name" ]; then
220
+ echo "❌ Error: Strategy, source path, and project name are required"
221
+ echo "Usage: generate_module_docs.sh <strategy> <source_path> <project_name> [tool] [model]"
222
+ echo "Module strategies: full, single"
223
+ echo "Project strategies: project-readme, project-architecture, http-api"
224
+ return 1
225
+ fi
226
+
227
+ # Validate strategy
228
+ local valid_strategies=("full" "single" "project-readme" "project-architecture" "http-api")
229
+ local strategy_valid=false
230
+ for valid_strategy in "${valid_strategies[@]}"; do
231
+ if [ "$strategy" = "$valid_strategy" ]; then
232
+ strategy_valid=true
233
+ break
234
+ fi
235
+ done
236
+
237
+ if [ "$strategy_valid" = false ]; then
238
+ echo "❌ Error: Invalid strategy '$strategy'"
239
+ echo "Valid module strategies: full, single"
240
+ echo "Valid project strategies: project-readme, project-architecture, http-api"
241
+ return 1
242
+ fi
243
+
244
+ if [ ! -d "$source_path" ]; then
245
+ echo "❌ Error: Source directory '$source_path' does not exist"
246
+ return 1
247
+ fi
248
+
249
+ # Set default models if not specified
250
+ if [ -z "$model" ]; then
251
+ case "$tool" in
252
+ gemini)
253
+ model="gemini-2.5-flash"
254
+ ;;
255
+ qwen)
256
+ model="coder-model"
257
+ ;;
258
+ codex)
259
+ model="gpt5-codex"
260
+ ;;
261
+ *)
262
+ model=""
263
+ ;;
264
+ esac
265
+ fi
266
+
267
+ # Build exclusion filters
268
+ local exclusion_filters=$(build_exclusion_filters)
269
+
270
+ # Get project root
271
+ local project_root=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
272
+
273
+ # Determine if this is a project-level strategy
274
+ local is_project_level=false
275
+ if [[ "$strategy" =~ ^project- ]] || [ "$strategy" = "http-api" ]; then
276
+ is_project_level=true
277
+ fi
278
+
279
+ # Calculate output path
280
+ local output_path
281
+ if [ "$is_project_level" = true ]; then
282
+ # Project-level docs go to project root
283
+ if [ "$strategy" = "http-api" ]; then
284
+ output_path="$project_root/.workflow/docs/$project_name/api"
285
+ else
286
+ output_path="$project_root/.workflow/docs/$project_name"
287
+ fi
288
+ else
289
+ output_path=$(calculate_output_path "$source_path" "$project_name" "$project_root")
290
+ fi
291
+
292
+ # Create output directory
293
+ mkdir -p "$output_path"
294
+
295
+ # Detect folder type (only for module-level strategies)
296
+ local folder_type=""
297
+ if [ "$is_project_level" = false ]; then
298
+ folder_type=$(detect_folder_type "$source_path" "$exclusion_filters")
299
+ fi
300
+
301
+ # Load templates based on strategy
302
+ local api_template=""
303
+ local readme_template=""
304
+ local template_content=""
305
+
306
+ if [ "$is_project_level" = true ]; then
307
+ # Project-level templates
308
+ case "$strategy" in
309
+ project-readme)
310
+ local proj_readme_path="$HOME/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt"
311
+ if [ -f "$proj_readme_path" ]; then
312
+ template_content=$(cat "$proj_readme_path")
313
+ echo " 📋 Loaded Project README template: $(wc -l < "$proj_readme_path") lines"
314
+ fi
315
+ ;;
316
+ project-architecture)
317
+ local arch_path="$HOME/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt"
318
+ local examples_path="$HOME/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt"
319
+ if [ -f "$arch_path" ]; then
320
+ template_content=$(cat "$arch_path")
321
+ echo " 📋 Loaded Architecture template: $(wc -l < "$arch_path") lines"
322
+ fi
323
+ if [ -f "$examples_path" ]; then
324
+ template_content="$template_content
325
+
326
+ EXAMPLES TEMPLATE:
327
+ $(cat "$examples_path")"
328
+ echo " 📋 Loaded Examples template: $(wc -l < "$examples_path") lines"
329
+ fi
330
+ ;;
331
+ http-api)
332
+ local api_path="$HOME/.claude/workflows/cli-templates/prompts/documentation/api.txt"
333
+ if [ -f "$api_path" ]; then
334
+ template_content=$(cat "$api_path")
335
+ echo " 📋 Loaded HTTP API template: $(wc -l < "$api_path") lines"
336
+ fi
337
+ ;;
338
+ esac
339
+ else
340
+ # Module-level templates
341
+ local api_template_path="$HOME/.claude/workflows/cli-templates/prompts/documentation/api.txt"
342
+ local readme_template_path="$HOME/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt"
343
+ local nav_template_path="$HOME/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt"
344
+
345
+ if [ "$folder_type" = "code" ]; then
346
+ if [ -f "$api_template_path" ]; then
347
+ api_template=$(cat "$api_template_path")
348
+ echo " 📋 Loaded API template: $(wc -l < "$api_template_path") lines"
349
+ fi
350
+ if [ -f "$readme_template_path" ]; then
351
+ readme_template=$(cat "$readme_template_path")
352
+ echo " 📋 Loaded README template: $(wc -l < "$readme_template_path") lines"
353
+ fi
354
+ else
355
+ # Navigation folder uses navigation template
356
+ if [ -f "$nav_template_path" ]; then
357
+ readme_template=$(cat "$nav_template_path")
358
+ echo " 📋 Loaded Navigation template: $(wc -l < "$nav_template_path") lines"
359
+ fi
360
+ fi
361
+ fi
362
+
363
+ # Scan directory structure (only for module-level strategies)
364
+ local structure_info=""
365
+ if [ "$is_project_level" = false ]; then
366
+ echo " 🔍 Scanning directory structure..."
367
+ structure_info=$(scan_directory_structure "$source_path" "$strategy")
368
+ fi
369
+
370
+ # Prepare logging info
371
+ local module_name=$(basename "$source_path")
372
+
373
+ echo "⚡ Generating docs: $source_path → $output_path"
374
+ echo " Strategy: $strategy | Tool: $tool | Model: $model | Type: $folder_type"
375
+ echo " Output: $output_path"
376
+
377
+ # Build strategy-specific prompt
378
+ local final_prompt=""
379
+
380
+ # Project-level strategies
381
+ if [ "$strategy" = "project-readme" ]; then
382
+ final_prompt="PURPOSE: Generate comprehensive project overview documentation
383
+
384
+ PROJECT: $project_name
385
+ OUTPUT: Current directory (file will be moved to final location)
386
+
387
+ Read: @.workflow/docs/$project_name/**/*.md
388
+
389
+ Context: All module documentation files from the project
390
+
391
+ Generate ONE documentation file in current directory:
392
+ - README.md - Project root documentation
393
+
394
+ Template:
395
+ $template_content
396
+
397
+ Instructions:
398
+ - Create README.md in CURRENT DIRECTORY
399
+ - Synthesize information from all module docs
400
+ - Include project overview, getting started, and navigation
401
+ - Create clear module navigation with links
402
+ - Follow template structure exactly"
403
+
404
+ elif [ "$strategy" = "project-architecture" ]; then
405
+ final_prompt="PURPOSE: Generate system design and usage examples documentation
406
+
407
+ PROJECT: $project_name
408
+ OUTPUT: Current directory (files will be moved to final location)
409
+
410
+ Read: @.workflow/docs/$project_name/**/*.md
411
+
412
+ Context: All project documentation including module docs and project README
413
+
414
+ Generate TWO documentation files in current directory:
415
+ 1. ARCHITECTURE.md - System architecture and design patterns
416
+ 2. EXAMPLES.md - End-to-end usage examples
417
+
418
+ Template:
419
+ $template_content
420
+
421
+ Instructions:
422
+ - Create both ARCHITECTURE.md and EXAMPLES.md in CURRENT DIRECTORY
423
+ - Synthesize architectural patterns from module documentation
424
+ - Document system structure, module relationships, and design decisions
425
+ - Provide practical code examples and usage scenarios
426
+ - Follow template structure for both files"
427
+
428
+ elif [ "$strategy" = "http-api" ]; then
429
+ final_prompt="PURPOSE: Generate HTTP API reference documentation
430
+
431
+ PROJECT: $project_name
432
+ OUTPUT: Current directory (file will be moved to final location)
433
+
434
+ Read: @**/*.{ts,js,py,go,rs} @.workflow/docs/$project_name/**/*.md
435
+
436
+ Context: API route files and existing documentation
437
+
438
+ Generate ONE documentation file in current directory:
439
+ - README.md - HTTP API documentation (in api/ subdirectory)
440
+
441
+ Template:
442
+ $template_content
443
+
444
+ Instructions:
445
+ - Create README.md in CURRENT DIRECTORY
446
+ - Document all HTTP endpoints (routes, methods, parameters, responses)
447
+ - Include authentication requirements and error codes
448
+ - Provide request/response examples
449
+ - Follow template structure (Part B: HTTP API documentation)"
450
+
451
+ # Module-level strategies
452
+ elif [ "$strategy" = "full" ]; then
453
+ # Full strategy: read all files, generate for each directory
454
+ if [ "$folder_type" = "code" ]; then
455
+ final_prompt="PURPOSE: Generate comprehensive API and module documentation
456
+
457
+ Directory Structure Analysis:
458
+ $structure_info
459
+
460
+ SOURCE: $source_path
461
+ OUTPUT: Current directory (files will be moved to final location)
462
+
463
+ Read: @**/*
464
+
465
+ Generate TWO documentation files in current directory:
466
+ 1. API.md - Code API documentation (functions, classes, interfaces)
467
+ Template:
468
+ $api_template
469
+
470
+ 2. README.md - Module overview documentation
471
+ Template:
472
+ $readme_template
473
+
474
+ Instructions:
475
+ - Generate both API.md and README.md in CURRENT DIRECTORY
476
+ - If subdirectories contain code files, generate their docs too (recursive)
477
+ - Work bottom-up: deepest directories first
478
+ - Follow template structure exactly
479
+ - Use structure analysis for context"
480
+ else
481
+ # Navigation folder - README only
482
+ final_prompt="PURPOSE: Generate navigation documentation for folder structure
483
+
484
+ Directory Structure Analysis:
485
+ $structure_info
486
+
487
+ SOURCE: $source_path
488
+ OUTPUT: Current directory (file will be moved to final location)
489
+
490
+ Read: @**/*
491
+
492
+ Generate ONE documentation file in current directory:
493
+ - README.md - Navigation and folder overview
494
+
495
+ Template:
496
+ $readme_template
497
+
498
+ Instructions:
499
+ - Create README.md in CURRENT DIRECTORY
500
+ - Focus on folder structure and navigation
501
+ - Link to subdirectory documentation
502
+ - Use structure analysis for context"
503
+ fi
504
+ else
505
+ # Single strategy: read current + child docs only
506
+ if [ "$folder_type" = "code" ]; then
507
+ final_prompt="PURPOSE: Generate API and module documentation for current directory
508
+
509
+ Directory Structure Analysis:
510
+ $structure_info
511
+
512
+ SOURCE: $source_path
513
+ OUTPUT: Current directory (files will be moved to final location)
514
+
515
+ Read: @*/API.md @*/README.md @*.ts @*.tsx @*.js @*.jsx @*.py @*.sh @*.go @*.rs @*.md @*.json @*.yaml @*.yml
516
+
517
+ Generate TWO documentation files in current directory:
518
+ 1. API.md - Code API documentation
519
+ Template:
520
+ $api_template
521
+
522
+ 2. README.md - Module overview
523
+ Template:
524
+ $readme_template
525
+
526
+ Instructions:
527
+ - Generate both API.md and README.md in CURRENT DIRECTORY
528
+ - Reference child documentation, do not duplicate
529
+ - Follow template structure
530
+ - Use structure analysis for current directory context"
531
+ else
532
+ # Navigation folder - README only
533
+ final_prompt="PURPOSE: Generate navigation documentation
534
+
535
+ Directory Structure Analysis:
536
+ $structure_info
537
+
538
+ SOURCE: $source_path
539
+ OUTPUT: Current directory (file will be moved to final location)
540
+
541
+ Read: @*/API.md @*/README.md @*.md
542
+
543
+ Generate ONE documentation file in current directory:
544
+ - README.md - Navigation and overview
545
+
546
+ Template:
547
+ $readme_template
548
+
549
+ Instructions:
550
+ - Create README.md in CURRENT DIRECTORY
551
+ - Link to child documentation
552
+ - Use structure analysis for navigation context"
553
+ fi
554
+ fi
555
+
556
+ # Execute documentation generation
557
+ local start_time=$(date +%s)
558
+ echo " 🔄 Starting documentation generation..."
559
+
560
+ if cd "$source_path" 2>/dev/null; then
561
+ local tool_result=0
562
+
563
+ # Store current output path for CLI context
564
+ export DOC_OUTPUT_PATH="$output_path"
565
+
566
+ # Record git HEAD before CLI execution (to detect unwanted auto-commits)
567
+ local git_head_before=""
568
+ if git rev-parse --git-dir >/dev/null 2>&1; then
569
+ git_head_before=$(git rev-parse HEAD 2>/dev/null)
570
+ fi
571
+
572
+ # Execute with selected tool
573
+ case "$tool" in
574
+ qwen)
575
+ if [ "$model" = "coder-model" ]; then
576
+ qwen -p "$final_prompt" --yolo 2>&1
577
+ else
578
+ qwen -p "$final_prompt" -m "$model" --yolo 2>&1
579
+ fi
580
+ tool_result=$?
581
+ ;;
582
+ codex)
583
+ codex --full-auto exec "$final_prompt" -m "$model" --skip-git-repo-check -s danger-full-access 2>&1
584
+ tool_result=$?
585
+ ;;
586
+ gemini)
587
+ gemini -p "$final_prompt" -m "$model" --yolo 2>&1
588
+ tool_result=$?
589
+ ;;
590
+ *)
591
+ echo " ⚠️ Unknown tool: $tool, defaulting to gemini"
592
+ gemini -p "$final_prompt" -m "$model" --yolo 2>&1
593
+ tool_result=$?
594
+ ;;
595
+ esac
596
+
597
+ # Move generated files to output directory
598
+ local docs_created=0
599
+ local moved_files=""
600
+
601
+ if [ $tool_result -eq 0 ]; then
602
+ if [ "$is_project_level" = true ]; then
603
+ # Project-level documentation files
604
+ case "$strategy" in
605
+ project-readme)
606
+ if [ -f "README.md" ]; then
607
+ mv "README.md" "$output_path/README.md" 2>/dev/null && {
608
+ docs_created=$((docs_created + 1))
609
+ moved_files+="README.md "
610
+ }
611
+ fi
612
+ ;;
613
+ project-architecture)
614
+ if [ -f "ARCHITECTURE.md" ]; then
615
+ mv "ARCHITECTURE.md" "$output_path/ARCHITECTURE.md" 2>/dev/null && {
616
+ docs_created=$((docs_created + 1))
617
+ moved_files+="ARCHITECTURE.md "
618
+ }
619
+ fi
620
+ if [ -f "EXAMPLES.md" ]; then
621
+ mv "EXAMPLES.md" "$output_path/EXAMPLES.md" 2>/dev/null && {
622
+ docs_created=$((docs_created + 1))
623
+ moved_files+="EXAMPLES.md "
624
+ }
625
+ fi
626
+ ;;
627
+ http-api)
628
+ if [ -f "README.md" ]; then
629
+ mv "README.md" "$output_path/README.md" 2>/dev/null && {
630
+ docs_created=$((docs_created + 1))
631
+ moved_files+="api/README.md "
632
+ }
633
+ fi
634
+ ;;
635
+ esac
636
+ else
637
+ # Module-level documentation files
638
+ # Check and move API.md if it exists
639
+ if [ "$folder_type" = "code" ] && [ -f "API.md" ]; then
640
+ mv "API.md" "$output_path/API.md" 2>/dev/null && {
641
+ docs_created=$((docs_created + 1))
642
+ moved_files+="API.md "
643
+ }
644
+ fi
645
+
646
+ # Check and move README.md if it exists
647
+ if [ -f "README.md" ]; then
648
+ mv "README.md" "$output_path/README.md" 2>/dev/null && {
649
+ docs_created=$((docs_created + 1))
650
+ moved_files+="README.md "
651
+ }
652
+ fi
653
+ fi
654
+ fi
655
+
656
+ # Check if CLI tool auto-committed (and revert if needed)
657
+ if [ -n "$git_head_before" ]; then
658
+ local git_head_after=$(git rev-parse HEAD 2>/dev/null)
659
+ if [ "$git_head_before" != "$git_head_after" ]; then
660
+ echo " ⚠️ Detected unwanted auto-commit by CLI tool, reverting..."
661
+ git reset --soft "$git_head_before" 2>/dev/null
662
+ echo " ✅ Auto-commit reverted (files remain staged)"
663
+ fi
664
+ fi
665
+
666
+ if [ $docs_created -gt 0 ]; then
667
+ local end_time=$(date +%s)
668
+ local duration=$((end_time - start_time))
669
+ echo " ✅ Generated $docs_created doc(s) in ${duration}s: $moved_files"
670
+ cd - > /dev/null
671
+ return 0
672
+ else
673
+ echo " ❌ Documentation generation failed for $source_path"
674
+ cd - > /dev/null
675
+ return 1
676
+ fi
677
+ else
678
+ echo " ❌ Cannot access directory: $source_path"
679
+ return 1
680
+ fi
681
+ }
682
+
683
+ # Execute function if script is run directly
684
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
685
+ # Show help if no arguments or help requested
686
+ if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
687
+ echo "Usage: generate_module_docs.sh <strategy> <source_path> <project_name> [tool] [model]"
688
+ echo ""
689
+ echo "Module-Level Strategies:"
690
+ echo " full - Generate docs for all subdirectories with code"
691
+ echo " single - Generate docs only for current directory"
692
+ echo ""
693
+ echo "Project-Level Strategies:"
694
+ echo " project-readme - Generate project root README.md"
695
+ echo " project-architecture - Generate ARCHITECTURE.md + EXAMPLES.md"
696
+ echo " http-api - Generate HTTP API documentation (api/README.md)"
697
+ echo ""
698
+ echo "Tools: gemini (default), qwen, codex"
699
+ echo "Models: Use tool defaults if not specified"
700
+ echo ""
701
+ echo "Module Examples:"
702
+ echo " ./generate_module_docs.sh full ./src/auth myproject"
703
+ echo " ./generate_module_docs.sh single ./components myproject gemini"
704
+ echo ""
705
+ echo "Project Examples:"
706
+ echo " ./generate_module_docs.sh project-readme . myproject"
707
+ echo " ./generate_module_docs.sh project-architecture . myproject qwen"
708
+ echo " ./generate_module_docs.sh http-api . myproject"
709
+ exit 0
710
+ fi
711
+
712
+ generate_module_docs "$@"
713
+ fi