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,398 @@
1
+ // ==========================================
2
+ // CAROUSEL COMPONENT
3
+ // ==========================================
4
+ // Active session carousel with detailed task info and smooth transitions
5
+
6
+ let carouselIndex = 0;
7
+ let carouselSessions = [];
8
+ let carouselInterval = null;
9
+ let carouselPaused = false;
10
+ const CAROUSEL_INTERVAL_MS = 5000; // 5 seconds
11
+
12
+ function initCarousel() {
13
+ const prevBtn = document.getElementById('carouselPrev');
14
+ const nextBtn = document.getElementById('carouselNext');
15
+ const pauseBtn = document.getElementById('carouselPause');
16
+
17
+ if (prevBtn) {
18
+ prevBtn.addEventListener('click', () => {
19
+ carouselPrev();
20
+ resetCarouselInterval();
21
+ });
22
+ }
23
+
24
+ if (nextBtn) {
25
+ nextBtn.addEventListener('click', () => {
26
+ carouselNext();
27
+ resetCarouselInterval();
28
+ });
29
+ }
30
+
31
+ if (pauseBtn) {
32
+ pauseBtn.addEventListener('click', toggleCarouselPause);
33
+ }
34
+ }
35
+
36
+ function updateCarousel() {
37
+ // Get active sessions from workflowData
38
+ const previousSessions = carouselSessions;
39
+ const previousIndex = carouselIndex;
40
+ const previousSessionId = previousSessions[previousIndex]?.session_id;
41
+
42
+ carouselSessions = workflowData.activeSessions || [];
43
+
44
+ // Try to preserve current position
45
+ if (previousSessionId && carouselSessions.length > 0) {
46
+ // Find if the same session still exists
47
+ const newIndex = carouselSessions.findIndex(s => s.session_id === previousSessionId);
48
+ if (newIndex !== -1) {
49
+ carouselIndex = newIndex;
50
+ } else if (previousIndex < carouselSessions.length) {
51
+ // Keep same index if valid
52
+ carouselIndex = previousIndex;
53
+ } else {
54
+ // Reset to last valid index
55
+ carouselIndex = Math.max(0, carouselSessions.length - 1);
56
+ }
57
+ } else {
58
+ carouselIndex = 0;
59
+ }
60
+
61
+ renderCarouselDots();
62
+ renderCarouselSlide('none');
63
+ startCarouselInterval();
64
+ }
65
+
66
+ function renderCarouselDots() {
67
+ const dotsContainer = document.getElementById('carouselDots');
68
+ if (!dotsContainer) return;
69
+
70
+ if (carouselSessions.length === 0) {
71
+ dotsContainer.innerHTML = '';
72
+ return;
73
+ }
74
+
75
+ dotsContainer.innerHTML = carouselSessions.map((_, index) => `
76
+ <button class="carousel-dot w-2 h-2 rounded-full transition-all duration-200 ${index === carouselIndex ? 'bg-primary w-4' : 'bg-muted-foreground/40 hover:bg-muted-foreground/60'}"
77
+ onclick="carouselGoToIndex(${index})" title="Session ${index + 1}"></button>
78
+ `).join('');
79
+ }
80
+
81
+ function updateActiveDot() {
82
+ const dots = document.querySelectorAll('.carousel-dot');
83
+ dots.forEach((dot, index) => {
84
+ if (index === carouselIndex) {
85
+ dot.classList.remove('bg-muted-foreground/40', 'hover:bg-muted-foreground/60', 'w-2');
86
+ dot.classList.add('bg-primary', 'w-4');
87
+ } else {
88
+ dot.classList.remove('bg-primary', 'w-4');
89
+ dot.classList.add('bg-muted-foreground/40', 'hover:bg-muted-foreground/60', 'w-2');
90
+ }
91
+ });
92
+ }
93
+
94
+ function carouselGoToIndex(index) {
95
+ if (index < 0 || index >= carouselSessions.length) return;
96
+ const direction = index > carouselIndex ? 'left' : (index < carouselIndex ? 'right' : 'none');
97
+ carouselIndex = index;
98
+ renderCarouselSlide(direction);
99
+ updateActiveDot();
100
+ resetCarouselInterval();
101
+ }
102
+
103
+ function renderCarouselSlide(direction = 'none') {
104
+ const container = document.getElementById('carouselContent');
105
+
106
+ if (!container) return;
107
+
108
+ if (carouselSessions.length === 0) {
109
+ container.innerHTML = `
110
+ <div class="carousel-empty flex items-center justify-center h-full text-muted-foreground">
111
+ <div class="text-center">
112
+ <div class="text-3xl mb-2">🎯</div>
113
+ <p class="text-sm">No active sessions</p>
114
+ </div>
115
+ </div>
116
+ `;
117
+ return;
118
+ }
119
+
120
+ const session = carouselSessions[carouselIndex];
121
+ const sessionType = session.type || 'workflow';
122
+
123
+ // Use simplified view for review sessions
124
+ if (sessionType === 'review') {
125
+ renderReviewCarouselSlide(container, session, direction);
126
+ return;
127
+ }
128
+
129
+ const tasks = session.tasks || [];
130
+ const completed = tasks.filter(t => t.status === 'completed').length;
131
+ const inProgress = tasks.filter(t => t.status === 'in_progress').length;
132
+ const pending = tasks.filter(t => t.status === 'pending').length;
133
+ const taskCount = session.taskCount || tasks.length;
134
+ const progress = taskCount > 0 ? Math.round((completed / taskCount) * 100) : 0;
135
+
136
+ // Get session type badge
137
+ const typeBadgeClass = getSessionTypeBadgeClass(sessionType);
138
+
139
+ const sessionKey = `session-${session.session_id}`.replace(/[^a-zA-Z0-9-]/g, '-');
140
+
141
+ // Animation class based on direction
142
+ const animClass = direction === 'left' ? 'carousel-slide-left' :
143
+ direction === 'right' ? 'carousel-slide-right' : 'carousel-fade-in';
144
+
145
+ // Get recent task activity
146
+ const recentTasks = getRecentTaskActivity(tasks);
147
+
148
+ // Format timestamps
149
+ const createdTime = session.created_at ? formatRelativeTime(session.created_at) : '';
150
+ const updatedTime = session.updated_at ? formatRelativeTime(session.updated_at) : '';
151
+
152
+ // Get more tasks for display (up to 4)
153
+ const displayTasks = getRecentTaskActivity(tasks, 4);
154
+
155
+ container.innerHTML = `
156
+ <div class="carousel-slide ${animClass} h-full">
157
+ <div class="session-card h-full p-3 cursor-pointer hover:bg-hover/30 transition-colors"
158
+ onclick="showSessionDetailPage('${sessionKey}')">
159
+
160
+ <!-- Two Column Layout -->
161
+ <div class="flex gap-4 h-full">
162
+
163
+ <!-- Left Column: Session Info -->
164
+ <div class="flex-1 flex flex-col min-w-0">
165
+ <!-- Session Header -->
166
+ <div class="flex items-center gap-2 mb-2 flex-wrap">
167
+ <span class="px-2 py-0.5 text-xs font-medium rounded ${typeBadgeClass}">${sessionType}</span>
168
+ ${inProgress > 0 ? `<span class="inline-flex items-center gap-1 text-xs text-warning"><span class="w-2 h-2 rounded-full bg-warning animate-pulse"></span>${inProgress} running</span>` : ''}
169
+ </div>
170
+ <h4 class="font-semibold text-foreground text-sm line-clamp-1 mb-2" title="${escapeHtml(session.session_id)}">${escapeHtml(session.session_id)}</h4>
171
+
172
+ <!-- Progress -->
173
+ <div class="mb-2">
174
+ <div class="flex items-center justify-between text-xs mb-1">
175
+ <span class="text-muted-foreground">Progress</span>
176
+ <span class="text-foreground font-medium">${completed}/${taskCount}</span>
177
+ </div>
178
+ <div class="h-1.5 bg-muted rounded-full overflow-hidden">
179
+ <div class="h-full rounded-full transition-all duration-500 ${progress === 100 ? 'bg-success' : 'bg-primary'}" style="width: ${progress}%"></div>
180
+ </div>
181
+ </div>
182
+
183
+ <!-- Task Status Summary -->
184
+ <div class="flex items-center gap-3 text-xs mb-2">
185
+ <span class="flex items-center gap-1"><span class="w-1.5 h-1.5 rounded-full bg-success"></span>${completed}</span>
186
+ <span class="flex items-center gap-1"><span class="w-1.5 h-1.5 rounded-full bg-warning ${inProgress > 0 ? 'animate-pulse' : ''}"></span>${inProgress}</span>
187
+ <span class="flex items-center gap-1"><span class="w-1.5 h-1.5 rounded-full bg-muted-foreground"></span>${pending}</span>
188
+ </div>
189
+
190
+ <!-- Footer -->
191
+ <div class="mt-auto flex items-center gap-3 text-xs text-muted-foreground">
192
+ <span>πŸ“… ${createdTime}</span>
193
+ ${updatedTime && updatedTime !== createdTime ? `<span>πŸ”„ ${updatedTime}</span>` : ''}
194
+ </div>
195
+ </div>
196
+
197
+ <!-- Right Column: Task List -->
198
+ <div class="w-[45%] flex flex-col border-l border-border pl-3">
199
+ <div class="text-xs font-medium text-muted-foreground mb-1.5">Recent Tasks</div>
200
+ <div class="task-list flex-1 space-y-1 overflow-hidden">
201
+ ${displayTasks.length > 0 ? displayTasks.map(task => `
202
+ <div class="flex items-center gap-1.5 text-xs">
203
+ <span class="shrink-0">${getTaskStatusEmoji(task.status)}</span>
204
+ <span class="truncate flex-1 ${task.status === 'in_progress' ? 'text-foreground font-medium' : 'text-muted-foreground'}">${escapeHtml(task.title || task.id || 'Task')}</span>
205
+ </div>
206
+ `).join('') : `
207
+ <div class="text-xs text-muted-foreground">No tasks yet</div>
208
+ `}
209
+ </div>
210
+ <!-- Progress percentage -->
211
+ <div class="mt-auto pt-1 text-right">
212
+ <span class="text-xl font-bold ${progress === 100 ? 'text-success' : 'text-primary'}">${progress}%</span>
213
+ </div>
214
+ </div>
215
+
216
+ </div>
217
+ </div>
218
+ </div>
219
+ `;
220
+
221
+ // Store session data for navigation
222
+ if (!sessionDataStore[sessionKey]) {
223
+ sessionDataStore[sessionKey] = session;
224
+ }
225
+ }
226
+
227
+ // Simplified carousel slide for review sessions
228
+ function renderReviewCarouselSlide(container, session, direction) {
229
+ const typeBadgeClass = getSessionTypeBadgeClass('review');
230
+ const sessionKey = `session-${session.session_id}`.replace(/[^a-zA-Z0-9-]/g, '-');
231
+ const animClass = direction === 'left' ? 'carousel-slide-left' :
232
+ direction === 'right' ? 'carousel-slide-right' : 'carousel-fade-in';
233
+ const createdTime = session.created_at ? formatRelativeTime(session.created_at) : '';
234
+
235
+ container.innerHTML = `
236
+ <div class="carousel-slide ${animClass} h-full">
237
+ <div class="session-card h-full p-3 cursor-pointer hover:bg-hover/30 transition-colors"
238
+ onclick="showSessionDetailPage('${sessionKey}')">
239
+ <div class="flex flex-col h-full">
240
+ <!-- Header -->
241
+ <div class="flex items-center gap-2 mb-2">
242
+ <span class="px-2 py-0.5 text-xs font-medium rounded ${typeBadgeClass}">review</span>
243
+ </div>
244
+ <h4 class="font-semibold text-foreground text-sm line-clamp-2 mb-3" title="${escapeHtml(session.session_id)}">${escapeHtml(session.session_id)}</h4>
245
+
246
+ <!-- Simple info -->
247
+ <div class="flex-1 flex items-center justify-center">
248
+ <div class="text-center">
249
+ <div class="text-3xl mb-1">πŸ”</div>
250
+ <div class="text-xs text-muted-foreground">Click to view findings</div>
251
+ </div>
252
+ </div>
253
+
254
+ <!-- Footer -->
255
+ <div class="mt-auto text-xs text-muted-foreground">
256
+ πŸ“… ${createdTime}
257
+ </div>
258
+ </div>
259
+ </div>
260
+ </div>
261
+ `;
262
+
263
+ // Store session data for navigation
264
+ if (!sessionDataStore[sessionKey]) {
265
+ sessionDataStore[sessionKey] = session;
266
+ }
267
+ }
268
+
269
+ function getSessionTypeBadgeClass(type) {
270
+ const classes = {
271
+ 'tdd': 'bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400',
272
+ 'review': 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400',
273
+ 'test': 'bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400',
274
+ 'docs': 'bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400',
275
+ 'workflow': 'bg-primary-light text-primary'
276
+ };
277
+ return classes[type] || classes['workflow'];
278
+ }
279
+
280
+ function getRecentTaskActivity(tasks, limit = 4) {
281
+ if (!tasks || tasks.length === 0) return [];
282
+
283
+ // Get in_progress tasks first, then most recently updated
284
+ const sorted = [...tasks].sort((a, b) => {
285
+ // in_progress first
286
+ if (a.status === 'in_progress' && b.status !== 'in_progress') return -1;
287
+ if (b.status === 'in_progress' && a.status !== 'in_progress') return 1;
288
+ // Then by updated_at
289
+ const timeA = a.updated_at || a.created_at || '';
290
+ const timeB = b.updated_at || b.created_at || '';
291
+ return timeB.localeCompare(timeA);
292
+ });
293
+
294
+ // Return top N tasks
295
+ return sorted.slice(0, limit);
296
+ }
297
+
298
+ function getTaskStatusEmoji(status) {
299
+ const emojis = {
300
+ 'completed': 'βœ…',
301
+ 'in_progress': 'πŸ”„',
302
+ 'pending': '⏸️',
303
+ 'blocked': '🚫'
304
+ };
305
+ return emojis[status] || 'πŸ“‹';
306
+ }
307
+
308
+ function getTaskStatusIcon(status) {
309
+ return status === 'in_progress' ? 'animate-spin-slow' : '';
310
+ }
311
+
312
+ function formatRelativeTime(dateString) {
313
+ if (!dateString) return '';
314
+
315
+ try {
316
+ const date = new Date(dateString);
317
+ const now = new Date();
318
+ const diffMs = now - date;
319
+ const diffSecs = Math.floor(diffMs / 1000);
320
+ const diffMins = Math.floor(diffSecs / 60);
321
+ const diffHours = Math.floor(diffMins / 60);
322
+ const diffDays = Math.floor(diffHours / 24);
323
+
324
+ if (diffSecs < 60) return 'just now';
325
+ if (diffMins < 60) return `${diffMins}m ago`;
326
+ if (diffHours < 24) return `${diffHours}h ago`;
327
+ if (diffDays < 7) return `${diffDays}d ago`;
328
+
329
+ // Format as date for older
330
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
331
+ } catch (e) {
332
+ return dateString;
333
+ }
334
+ }
335
+
336
+ function carouselNext() {
337
+ if (carouselSessions.length === 0) return;
338
+ carouselIndex = (carouselIndex + 1) % carouselSessions.length;
339
+ renderCarouselSlide('left');
340
+ updateActiveDot();
341
+ }
342
+
343
+ function carouselPrev() {
344
+ if (carouselSessions.length === 0) return;
345
+ carouselIndex = (carouselIndex - 1 + carouselSessions.length) % carouselSessions.length;
346
+ renderCarouselSlide('right');
347
+ updateActiveDot();
348
+ }
349
+
350
+ function startCarouselInterval() {
351
+ stopCarouselInterval();
352
+ if (!carouselPaused && carouselSessions.length > 1) {
353
+ carouselInterval = setInterval(carouselNext, CAROUSEL_INTERVAL_MS);
354
+ }
355
+ }
356
+
357
+ function stopCarouselInterval() {
358
+ if (carouselInterval) {
359
+ clearInterval(carouselInterval);
360
+ carouselInterval = null;
361
+ }
362
+ }
363
+
364
+ function resetCarouselInterval() {
365
+ if (!carouselPaused) {
366
+ startCarouselInterval();
367
+ }
368
+ }
369
+
370
+ function toggleCarouselPause() {
371
+ carouselPaused = !carouselPaused;
372
+ const icon = document.getElementById('carouselPauseIcon');
373
+
374
+ if (carouselPaused) {
375
+ stopCarouselInterval();
376
+ // Change to play icon
377
+ if (icon) {
378
+ icon.innerHTML = '<polygon points="5 3 19 12 5 21 5 3"/>';
379
+ }
380
+ } else {
381
+ startCarouselInterval();
382
+ // Change to pause icon
383
+ if (icon) {
384
+ icon.innerHTML = '<rect x="6" y="4" width="4" height="16"/><rect x="14" y="4" width="4" height="16"/>';
385
+ }
386
+ }
387
+ }
388
+
389
+ // Jump to specific session in carousel
390
+ function carouselGoTo(sessionId) {
391
+ const index = carouselSessions.findIndex(s => s.session_id === sessionId);
392
+ if (index !== -1) {
393
+ carouselIndex = index;
394
+ renderCarouselSlide('none');
395
+ updateActiveDot();
396
+ resetCarouselInterval();
397
+ }
398
+ }