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,48 @@
1
+ import { readFileSync, existsSync, writeFileSync } from 'fs';
2
+ import { join } from 'path';
3
+
4
+ /**
5
+ * Safely read a JSON file
6
+ * @param {string} filePath - Path to JSON file
7
+ * @returns {Object|null} - Parsed JSON or null on error
8
+ */
9
+ export function readJsonFile(filePath) {
10
+ if (!existsSync(filePath)) return null;
11
+ try {
12
+ return JSON.parse(readFileSync(filePath, 'utf8'));
13
+ } catch {
14
+ return null;
15
+ }
16
+ }
17
+
18
+ /**
19
+ * Safely read a text file
20
+ * @param {string} filePath - Path to text file
21
+ * @returns {string|null} - File contents or null on error
22
+ */
23
+ export function readTextFile(filePath) {
24
+ if (!existsSync(filePath)) return null;
25
+ try {
26
+ return readFileSync(filePath, 'utf8');
27
+ } catch {
28
+ return null;
29
+ }
30
+ }
31
+
32
+ /**
33
+ * Write content to a file
34
+ * @param {string} filePath - Path to file
35
+ * @param {string} content - Content to write
36
+ */
37
+ export function writeTextFile(filePath, content) {
38
+ writeFileSync(filePath, content, 'utf8');
39
+ }
40
+
41
+ /**
42
+ * Check if a path exists
43
+ * @param {string} filePath - Path to check
44
+ * @returns {boolean}
45
+ */
46
+ export function pathExists(filePath) {
47
+ return existsSync(filePath);
48
+ }
@@ -0,0 +1,279 @@
1
+ import { resolve, join, relative, isAbsolute } from 'path';
2
+ import { existsSync, mkdirSync, realpathSync, statSync, readFileSync, writeFileSync } from 'fs';
3
+ import { homedir } from 'os';
4
+
5
+ /**
6
+ * Resolve a path, handling ~ for home directory
7
+ * @param {string} inputPath - Path to resolve
8
+ * @returns {string} - Absolute path
9
+ */
10
+ export function resolvePath(inputPath) {
11
+ if (!inputPath) return process.cwd();
12
+
13
+ // Handle ~ for home directory
14
+ if (inputPath.startsWith('~')) {
15
+ return join(homedir(), inputPath.slice(1));
16
+ }
17
+
18
+ return resolve(inputPath);
19
+ }
20
+
21
+ /**
22
+ * Validate and sanitize a user-provided path
23
+ * Prevents path traversal attacks and validates path is within allowed boundaries
24
+ * @param {string} inputPath - User-provided path
25
+ * @param {Object} options - Validation options
26
+ * @param {string} options.baseDir - Base directory to restrict paths within (optional)
27
+ * @param {boolean} options.mustExist - Whether path must exist (default: false)
28
+ * @param {boolean} options.allowHome - Whether to allow home directory paths (default: true)
29
+ * @returns {Object} - { valid: boolean, path: string|null, error: string|null }
30
+ */
31
+ export function validatePath(inputPath, options = {}) {
32
+ const { baseDir = null, mustExist = false, allowHome = true } = options;
33
+
34
+ // Check for empty/null input
35
+ if (!inputPath || typeof inputPath !== 'string') {
36
+ return { valid: false, path: null, error: 'Path is required' };
37
+ }
38
+
39
+ // Trim whitespace
40
+ const trimmedPath = inputPath.trim();
41
+
42
+ // Check for suspicious patterns (null bytes, control characters)
43
+ if (/[\x00-\x1f]/.test(trimmedPath)) {
44
+ return { valid: false, path: null, error: 'Path contains invalid characters' };
45
+ }
46
+
47
+ // Resolve the path
48
+ let resolvedPath;
49
+ try {
50
+ resolvedPath = resolvePath(trimmedPath);
51
+ } catch (err) {
52
+ return { valid: false, path: null, error: `Invalid path: ${err.message}` };
53
+ }
54
+
55
+ // Check if path exists when required
56
+ if (mustExist && !existsSync(resolvedPath)) {
57
+ return { valid: false, path: null, error: `Path does not exist: ${resolvedPath}` };
58
+ }
59
+
60
+ // Get real path if it exists (resolves symlinks)
61
+ let realPath = resolvedPath;
62
+ if (existsSync(resolvedPath)) {
63
+ try {
64
+ realPath = realpathSync(resolvedPath);
65
+ } catch (err) {
66
+ return { valid: false, path: null, error: `Cannot resolve path: ${err.message}` };
67
+ }
68
+ }
69
+
70
+ // Check if within base directory when specified
71
+ if (baseDir) {
72
+ const resolvedBase = resolvePath(baseDir);
73
+ const relativePath = relative(resolvedBase, realPath);
74
+
75
+ // Path traversal detection: relative path should not start with '..'
76
+ if (relativePath.startsWith('..') || isAbsolute(relativePath)) {
77
+ return {
78
+ valid: false,
79
+ path: null,
80
+ error: `Path must be within ${resolvedBase}`
81
+ };
82
+ }
83
+ }
84
+
85
+ // Check home directory restriction
86
+ if (!allowHome) {
87
+ const home = homedir();
88
+ if (realPath === home || realPath.startsWith(home + '/') || realPath.startsWith(home + '\\')) {
89
+ // This is fine, we're just checking if it's explicitly the home dir itself
90
+ }
91
+ }
92
+
93
+ return { valid: true, path: realPath, error: null };
94
+ }
95
+
96
+ /**
97
+ * Validate output file path for writing
98
+ * @param {string} outputPath - Output file path
99
+ * @param {string} defaultDir - Default directory if path is relative
100
+ * @returns {Object} - { valid: boolean, path: string|null, error: string|null }
101
+ */
102
+ export function validateOutputPath(outputPath, defaultDir = process.cwd()) {
103
+ if (!outputPath || typeof outputPath !== 'string') {
104
+ return { valid: false, path: null, error: 'Output path is required' };
105
+ }
106
+
107
+ const trimmedPath = outputPath.trim();
108
+
109
+ // Check for suspicious patterns
110
+ if (/[\x00-\x1f]/.test(trimmedPath)) {
111
+ return { valid: false, path: null, error: 'Output path contains invalid characters' };
112
+ }
113
+
114
+ // Resolve the path
115
+ let resolvedPath;
116
+ try {
117
+ resolvedPath = isAbsolute(trimmedPath) ? trimmedPath : join(defaultDir, trimmedPath);
118
+ resolvedPath = resolve(resolvedPath);
119
+ } catch (err) {
120
+ return { valid: false, path: null, error: `Invalid output path: ${err.message}` };
121
+ }
122
+
123
+ // Ensure it's not a directory
124
+ if (existsSync(resolvedPath)) {
125
+ try {
126
+ const stat = statSync(resolvedPath);
127
+ if (stat.isDirectory()) {
128
+ return { valid: false, path: null, error: 'Output path is a directory, expected a file' };
129
+ }
130
+ } catch {
131
+ // Ignore stat errors
132
+ }
133
+ }
134
+
135
+ return { valid: true, path: resolvedPath, error: null };
136
+ }
137
+
138
+ /**
139
+ * Get potential template locations
140
+ * @returns {string[]} - Array of existing template directories
141
+ */
142
+ export function getTemplateLocations() {
143
+ const locations = [
144
+ join(homedir(), '.claude', 'templates'),
145
+ join(process.cwd(), '.claude', 'templates')
146
+ ];
147
+
148
+ return locations.filter(loc => existsSync(loc));
149
+ }
150
+
151
+ /**
152
+ * Find a template file in known locations
153
+ * @param {string} templateName - Name of template file (e.g., 'workflow-dashboard.html')
154
+ * @returns {string|null} - Path to template or null if not found
155
+ */
156
+ export function findTemplate(templateName) {
157
+ const locations = getTemplateLocations();
158
+
159
+ for (const loc of locations) {
160
+ const templatePath = join(loc, templateName);
161
+ if (existsSync(templatePath)) {
162
+ return templatePath;
163
+ }
164
+ }
165
+
166
+ return null;
167
+ }
168
+
169
+ /**
170
+ * Ensure directory exists, creating if necessary
171
+ * @param {string} dirPath - Directory path to ensure
172
+ */
173
+ export function ensureDir(dirPath) {
174
+ if (!existsSync(dirPath)) {
175
+ mkdirSync(dirPath, { recursive: true });
176
+ }
177
+ }
178
+
179
+ /**
180
+ * Get the .workflow directory path from project path
181
+ * @param {string} projectPath - Path to project
182
+ * @returns {string} - Path to .workflow directory
183
+ */
184
+ export function getWorkflowDir(projectPath) {
185
+ return join(resolvePath(projectPath), '.workflow');
186
+ }
187
+
188
+ /**
189
+ * Normalize path for display (handle Windows backslashes)
190
+ * @param {string} filePath - Path to normalize
191
+ * @returns {string}
192
+ */
193
+ export function normalizePathForDisplay(filePath) {
194
+ return filePath.replace(/\\/g, '/');
195
+ }
196
+
197
+ // Recent paths storage file
198
+ const RECENT_PATHS_FILE = join(homedir(), '.ccw-recent-paths.json');
199
+ const MAX_RECENT_PATHS = 10;
200
+
201
+ /**
202
+ * Get recent project paths
203
+ * @returns {string[]} - Array of recent paths
204
+ */
205
+ export function getRecentPaths() {
206
+ try {
207
+ if (existsSync(RECENT_PATHS_FILE)) {
208
+ const content = readFileSync(RECENT_PATHS_FILE, 'utf8');
209
+ const data = JSON.parse(content);
210
+ return Array.isArray(data.paths) ? data.paths : [];
211
+ }
212
+ } catch {
213
+ // Ignore errors, return empty array
214
+ }
215
+ return [];
216
+ }
217
+
218
+ /**
219
+ * Track a project path (add to recent paths)
220
+ * @param {string} projectPath - Path to track
221
+ */
222
+ export function trackRecentPath(projectPath) {
223
+ try {
224
+ const normalized = normalizePathForDisplay(resolvePath(projectPath));
225
+ let paths = getRecentPaths();
226
+
227
+ // Remove if already exists (will be added to front)
228
+ paths = paths.filter(p => normalizePathForDisplay(p) !== normalized);
229
+
230
+ // Add to front
231
+ paths.unshift(normalized);
232
+
233
+ // Limit to max
234
+ paths = paths.slice(0, MAX_RECENT_PATHS);
235
+
236
+ // Save
237
+ writeFileSync(RECENT_PATHS_FILE, JSON.stringify({ paths }, null, 2), 'utf8');
238
+ } catch {
239
+ // Ignore errors
240
+ }
241
+ }
242
+
243
+ /**
244
+ * Clear recent paths
245
+ */
246
+ export function clearRecentPaths() {
247
+ try {
248
+ if (existsSync(RECENT_PATHS_FILE)) {
249
+ writeFileSync(RECENT_PATHS_FILE, JSON.stringify({ paths: [] }, null, 2), 'utf8');
250
+ }
251
+ } catch {
252
+ // Ignore errors
253
+ }
254
+ }
255
+
256
+ /**
257
+ * Remove a specific path from recent paths
258
+ * @param {string} pathToRemove - Path to remove
259
+ * @returns {boolean} - True if removed, false if not found
260
+ */
261
+ export function removeRecentPath(pathToRemove) {
262
+ try {
263
+ const normalized = normalizePathForDisplay(resolvePath(pathToRemove));
264
+ let paths = getRecentPaths();
265
+ const originalLength = paths.length;
266
+
267
+ // Filter out the path to remove
268
+ paths = paths.filter(p => normalizePathForDisplay(p) !== normalized);
269
+
270
+ if (paths.length < originalLength) {
271
+ // Save updated list
272
+ writeFileSync(RECENT_PATHS_FILE, JSON.stringify({ paths }, null, 2), 'utf8');
273
+ return true;
274
+ }
275
+ return false;
276
+ } catch {
277
+ return false;
278
+ }
279
+ }
@@ -0,0 +1,148 @@
1
+ import chalk from 'chalk';
2
+ import figlet from 'figlet';
3
+ import boxen from 'boxen';
4
+ import gradient from 'gradient-string';
5
+ import ora from 'ora';
6
+
7
+ // Custom gradient colors
8
+ const claudeGradient = gradient(['#00d4ff', '#00ff88']);
9
+ const codeGradient = gradient(['#00ff88', '#ffff00']);
10
+ const workflowGradient = gradient(['#ffff00', '#ff8800']);
11
+
12
+ /**
13
+ * Display ASCII art banner
14
+ */
15
+ export function showBanner() {
16
+ console.log('');
17
+
18
+ // CLAUDE in cyan gradient
19
+ try {
20
+ const claudeText = figlet.textSync('Claude', { font: 'Standard' });
21
+ console.log(claudeGradient(claudeText));
22
+ } catch {
23
+ console.log(chalk.cyan.bold(' Claude'));
24
+ }
25
+
26
+ // CODE in green gradient
27
+ try {
28
+ const codeText = figlet.textSync('Code', { font: 'Standard' });
29
+ console.log(codeGradient(codeText));
30
+ } catch {
31
+ console.log(chalk.green.bold(' Code'));
32
+ }
33
+
34
+ // WORKFLOW in yellow gradient
35
+ try {
36
+ const workflowText = figlet.textSync('Workflow', { font: 'Standard' });
37
+ console.log(workflowGradient(workflowText));
38
+ } catch {
39
+ console.log(chalk.yellow.bold(' Workflow'));
40
+ }
41
+
42
+ console.log('');
43
+ }
44
+
45
+ /**
46
+ * Display header with version info
47
+ * @param {string} version - Version number
48
+ * @param {string} mode - Installation mode
49
+ */
50
+ export function showHeader(version, mode = '') {
51
+ showBanner();
52
+
53
+ const versionText = version ? `v${version}` : '';
54
+ const modeText = mode ? ` (${mode})` : '';
55
+
56
+ console.log(boxen(
57
+ chalk.cyan.bold('Claude Code Workflow System') + '\n' +
58
+ chalk.gray(`Installer ${versionText}${modeText}`) + '\n\n' +
59
+ chalk.white('Unified workflow system with comprehensive coordination'),
60
+ {
61
+ padding: 1,
62
+ margin: { top: 0, bottom: 1, left: 2, right: 2 },
63
+ borderStyle: 'round',
64
+ borderColor: 'cyan'
65
+ }
66
+ ));
67
+ }
68
+
69
+ /**
70
+ * Create a spinner
71
+ * @param {string} text - Spinner text
72
+ * @returns {ora.Ora}
73
+ */
74
+ export function createSpinner(text) {
75
+ return ora({
76
+ text,
77
+ color: 'cyan',
78
+ spinner: 'dots'
79
+ });
80
+ }
81
+
82
+ /**
83
+ * Display success message
84
+ * @param {string} message
85
+ */
86
+ export function success(message) {
87
+ console.log(chalk.green('✓') + ' ' + chalk.green(message));
88
+ }
89
+
90
+ /**
91
+ * Display info message
92
+ * @param {string} message
93
+ */
94
+ export function info(message) {
95
+ console.log(chalk.cyan('ℹ') + ' ' + chalk.cyan(message));
96
+ }
97
+
98
+ /**
99
+ * Display warning message
100
+ * @param {string} message
101
+ */
102
+ export function warning(message) {
103
+ console.log(chalk.yellow('⚠') + ' ' + chalk.yellow(message));
104
+ }
105
+
106
+ /**
107
+ * Display error message
108
+ * @param {string} message
109
+ */
110
+ export function error(message) {
111
+ console.log(chalk.red('✖') + ' ' + chalk.red(message));
112
+ }
113
+
114
+ /**
115
+ * Display step message
116
+ * @param {number} step - Step number
117
+ * @param {number} total - Total steps
118
+ * @param {string} message - Step message
119
+ */
120
+ export function step(stepNum, total, message) {
121
+ console.log(chalk.gray(`[${stepNum}/${total}]`) + ' ' + chalk.white(message));
122
+ }
123
+
124
+ /**
125
+ * Display summary box
126
+ * @param {Object} options
127
+ * @param {string} options.title - Box title
128
+ * @param {string[]} options.lines - Content lines
129
+ * @param {string} options.borderColor - Border color
130
+ */
131
+ export function summaryBox({ title, lines, borderColor = 'green' }) {
132
+ const content = lines.join('\n');
133
+ console.log(boxen(content, {
134
+ title,
135
+ titleAlignment: 'center',
136
+ padding: 1,
137
+ margin: { top: 1, bottom: 1, left: 2, right: 2 },
138
+ borderStyle: 'round',
139
+ borderColor
140
+ }));
141
+ }
142
+
143
+ /**
144
+ * Display a divider line
145
+ */
146
+ export function divider() {
147
+ console.log(chalk.gray('─'.repeat(60)));
148
+ }
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "claude-code-workflow",
3
+ "version": "6.0.0",
4
+ "description": "JSON-driven multi-agent development framework with intelligent CLI orchestration (Gemini/Qwen/Codex), context-first architecture, and automated workflow execution",
5
+ "type": "module",
6
+ "main": "ccw/src/index.js",
7
+ "bin": {
8
+ "ccw": "./ccw/bin/ccw.js"
9
+ },
10
+ "scripts": {
11
+ "start": "node ccw/bin/ccw.js",
12
+ "test": "node --test",
13
+ "prepublishOnly": "echo 'Ready to publish @dyw/claude-code-workflow'"
14
+ },
15
+ "keywords": [
16
+ "claude",
17
+ "workflow",
18
+ "ai",
19
+ "cli",
20
+ "dashboard",
21
+ "code-review",
22
+ "automation",
23
+ "development"
24
+ ],
25
+ "author": "dyw",
26
+ "license": "MIT",
27
+ "engines": {
28
+ "node": ">=16.0.0"
29
+ },
30
+ "dependencies": {
31
+ "commander": "^11.0.0",
32
+ "open": "^9.1.0",
33
+ "chalk": "^5.3.0",
34
+ "glob": "^10.3.0",
35
+ "inquirer": "^9.2.0",
36
+ "ora": "^7.0.0",
37
+ "figlet": "^1.7.0",
38
+ "boxen": "^7.1.0",
39
+ "gradient-string": "^2.0.2"
40
+ },
41
+ "files": [
42
+ "ccw/bin/",
43
+ "ccw/src/",
44
+ ".claude/agents/",
45
+ ".claude/commands/",
46
+ ".claude/output-styles/",
47
+ ".claude/workflows/",
48
+ ".claude/scripts/",
49
+ ".claude/prompt-templates/",
50
+ ".claude/python_script/",
51
+ ".claude/skills/",
52
+ ".codex/",
53
+ ".gemini/",
54
+ ".qwen/",
55
+ "CLAUDE.md",
56
+ "README.md"
57
+ ],
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "git+https://github.com/catlog22/Claude-Code-Workflow.git"
61
+ },
62
+ "bugs": {
63
+ "url": "https://github.com/catlog22/Claude-Code-Workflow/issues"
64
+ },
65
+ "homepage": "https://github.com/catlog22/Claude-Code-Workflow#readme"
66
+ }