claude-code-workflow 6.1.4 → 6.2.2

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 (437) hide show
  1. package/.claude/CLAUDE.md +10 -0
  2. package/.claude/agents/action-planning-agent.md +857 -778
  3. package/.claude/agents/cli-execution-agent.md +266 -269
  4. package/.claude/agents/cli-explore-agent.md +2 -2
  5. package/.claude/agents/cli-lite-planning-agent.md +142 -92
  6. package/.claude/agents/cli-planning-agent.md +4 -4
  7. package/.claude/agents/code-developer.md +7 -6
  8. package/.claude/agents/conceptual-planning-agent.md +2 -2
  9. package/.claude/agents/context-search-agent.md +31 -32
  10. package/.claude/agents/doc-generator.md +4 -4
  11. package/.claude/agents/memory-bridge.md +93 -93
  12. package/.claude/agents/test-context-search-agent.md +8 -7
  13. package/.claude/agents/test-fix-agent.md +7 -6
  14. package/.claude/commands/clean.md +516 -0
  15. package/.claude/commands/memory/compact.md +383 -0
  16. package/.claude/commands/memory/docs-full-cli.md +471 -471
  17. package/.claude/commands/memory/docs-related-cli.md +386 -386
  18. package/.claude/commands/memory/docs.md +615 -615
  19. package/.claude/commands/memory/load.md +5 -5
  20. package/.claude/commands/memory/tech-research-rules.md +310 -0
  21. package/.claude/commands/memory/update-full.md +332 -332
  22. package/.claude/commands/memory/workflow-skill-memory.md +4 -4
  23. package/.claude/commands/task/create.md +151 -151
  24. package/.claude/commands/version.md +254 -254
  25. package/.claude/commands/workflow/brainstorm/api-designer.md +587 -585
  26. package/.claude/commands/workflow/brainstorm/artifacts.md +1 -0
  27. package/.claude/commands/workflow/brainstorm/auto-parallel.md +443 -443
  28. package/.claude/commands/workflow/brainstorm/data-architect.md +220 -220
  29. package/.claude/commands/workflow/brainstorm/product-manager.md +200 -200
  30. package/.claude/commands/workflow/brainstorm/product-owner.md +200 -200
  31. package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -200
  32. package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -200
  33. package/.claude/commands/workflow/brainstorm/system-architect.md +389 -387
  34. package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -221
  35. package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -221
  36. package/.claude/commands/workflow/debug.md +321 -0
  37. package/.claude/commands/workflow/execute.md +13 -0
  38. package/.claude/commands/workflow/init.md +165 -164
  39. package/.claude/commands/workflow/lite-execute.md +119 -13
  40. package/.claude/commands/workflow/lite-fix.md +623 -621
  41. package/.claude/commands/workflow/lite-plan.md +610 -592
  42. package/.claude/commands/workflow/plan.md +5 -5
  43. package/.claude/commands/workflow/review-module-cycle.md +2 -0
  44. package/.claude/commands/workflow/review-session-cycle.md +2 -0
  45. package/.claude/commands/workflow/review.md +297 -291
  46. package/.claude/commands/workflow/session/complete.md +153 -500
  47. package/.claude/commands/workflow/session/list.md +95 -95
  48. package/.claude/commands/workflow/session/resume.md +60 -60
  49. package/.claude/commands/workflow/session/start.md +199 -199
  50. package/.claude/commands/workflow/tdd-plan.md +3 -3
  51. package/.claude/commands/workflow/tdd-verify.md +23 -9
  52. package/.claude/commands/workflow/test-cycle-execute.md +2 -0
  53. package/.claude/commands/workflow/test-fix-gen.md +699 -699
  54. package/.claude/commands/workflow/tools/conflict-resolution.md +104 -18
  55. package/.claude/commands/workflow/tools/context-gather.md +436 -434
  56. package/.claude/commands/workflow/tools/task-generate-agent.md +490 -291
  57. package/.claude/commands/workflow/tools/task-generate-tdd.md +18 -10
  58. package/.claude/commands/workflow/tools/test-concept-enhanced.md +2 -1
  59. package/.claude/commands/workflow/tools/test-context-gather.md +1 -0
  60. package/.claude/commands/workflow/tools/test-task-generate.md +1 -0
  61. package/.claude/commands/workflow/ui-design/import-from-code.md +9 -6
  62. package/.claude/skills/command-guide/SKILL.md +5 -5
  63. package/.claude/skills/command-guide/index/all-commands.json +1 -1
  64. package/.claude/skills/command-guide/index/by-category.json +1 -1
  65. package/.claude/skills/command-guide/index/by-use-case.json +1 -1
  66. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +857 -778
  67. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +266 -269
  68. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +2 -2
  69. package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +142 -92
  70. package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +4 -4
  71. package/.claude/skills/command-guide/reference/agents/code-developer.md +7 -6
  72. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +2 -2
  73. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +31 -32
  74. package/.claude/skills/command-guide/reference/agents/doc-generator.md +4 -4
  75. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +93 -93
  76. package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +8 -7
  77. package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +7 -6
  78. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -471
  79. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -386
  80. package/.claude/skills/command-guide/reference/commands/memory/docs.md +17 -16
  81. package/.claude/skills/command-guide/reference/commands/memory/load.md +5 -5
  82. package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +194 -357
  83. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -332
  84. package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +4 -4
  85. package/.claude/skills/command-guide/reference/commands/task/create.md +151 -151
  86. package/.claude/skills/command-guide/reference/commands/version.md +254 -254
  87. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +585 -585
  88. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +443 -443
  89. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +220 -220
  90. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +200 -200
  91. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +200 -200
  92. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +200 -200
  93. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +200 -200
  94. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +387 -387
  95. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +221 -221
  96. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +221 -221
  97. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +25 -20
  98. package/.claude/skills/command-guide/reference/commands/workflow/init.md +164 -164
  99. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +748 -686
  100. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +664 -621
  101. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +645 -592
  102. package/.claude/skills/command-guide/reference/commands/workflow/plan.md +5 -5
  103. package/.claude/skills/command-guide/reference/commands/workflow/review.md +25 -18
  104. package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +547 -500
  105. package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +45 -27
  106. package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +35 -19
  107. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +90 -33
  108. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +3 -3
  109. package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +23 -9
  110. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +699 -699
  111. package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +103 -17
  112. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -434
  113. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +487 -291
  114. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +17 -10
  115. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +1 -1
  116. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +6 -6
  117. package/.claude/workflows/chinese-response.md +38 -0
  118. package/.claude/workflows/cli-templates/prompts/rules/rule-api.txt +122 -0
  119. package/.claude/workflows/cli-templates/prompts/rules/rule-components.txt +122 -0
  120. package/.claude/workflows/cli-templates/prompts/rules/rule-config.txt +89 -0
  121. package/.claude/workflows/cli-templates/prompts/rules/rule-core.txt +60 -0
  122. package/.claude/workflows/cli-templates/prompts/rules/rule-patterns.txt +70 -0
  123. package/.claude/workflows/cli-templates/prompts/rules/rule-testing.txt +81 -0
  124. package/.claude/workflows/cli-templates/prompts/rules/tech-rules-agent-prompt.txt +89 -0
  125. package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +131 -131
  126. package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +5 -9
  127. package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +5 -9
  128. package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +112 -0
  129. package/.claude/workflows/cli-templates/protocols/write-protocol.md +201 -0
  130. package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +137 -0
  131. package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +127 -0
  132. package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +25 -0
  133. package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +25 -0
  134. package/.claude/workflows/cli-tools-usage.md +526 -0
  135. package/{CLAUDE.md → .claude/workflows/coding-philosophy.md} +24 -45
  136. package/.claude/workflows/context-tools.md +84 -0
  137. package/.claude/workflows/file-modification.md +64 -0
  138. package/.claude/workflows/tool-strategy.md +216 -79
  139. package/.claude/workflows/windows-platform.md +16 -0
  140. package/.claude/workflows/workflow-architecture.md +942 -942
  141. package/.codex/AGENTS.md +63 -330
  142. package/.codex/prompts/debug.md +318 -0
  143. package/.codex/prompts/execute.md +273 -0
  144. package/.codex/prompts/lite-execute.md +164 -0
  145. package/.codex/prompts/lite-plan.md +469 -0
  146. package/.codex/prompts.zip +0 -0
  147. package/.gemini/GEMINI.md +25 -164
  148. package/.qwen/QWEN.md +0 -139
  149. package/README.md +29 -9
  150. package/ccw/README.md +30 -6
  151. package/ccw/bin/ccw-mcp.js +7 -0
  152. package/ccw/bin/ccw.js +9 -9
  153. package/ccw/package.json +65 -47
  154. package/ccw/src/.workflow/.cli-history/history.db +0 -0
  155. package/ccw/src/.workflow/.cli-history/history.db-shm +0 -0
  156. package/ccw/src/.workflow/.cli-history/history.db-wal +0 -0
  157. package/ccw/src/cli.ts +244 -0
  158. package/ccw/src/commands/cli.ts +740 -0
  159. package/ccw/src/commands/core-memory.ts +770 -0
  160. package/ccw/src/commands/hook.ts +315 -0
  161. package/ccw/src/commands/install.ts +519 -0
  162. package/ccw/src/commands/{list.js → list.ts} +1 -1
  163. package/ccw/src/commands/memory.ts +1090 -0
  164. package/ccw/src/commands/{serve.js → serve.ts} +14 -5
  165. package/ccw/src/commands/session-path-resolver.ts +372 -0
  166. package/ccw/src/commands/session.ts +1141 -0
  167. package/ccw/src/commands/{stop.js → stop.ts} +16 -6
  168. package/ccw/src/commands/tool.ts +201 -0
  169. package/ccw/src/commands/{uninstall.js → uninstall.ts} +89 -40
  170. package/ccw/src/commands/{upgrade.js → upgrade.ts} +68 -23
  171. package/ccw/src/commands/{view.js → view.ts} +22 -8
  172. package/ccw/src/config/storage-paths.ts +670 -0
  173. package/ccw/src/core/cache-manager.ts +294 -0
  174. package/ccw/src/core/claude-freshness.ts +319 -0
  175. package/ccw/src/core/core-memory-store.ts +1528 -0
  176. package/ccw/src/core/{dashboard-generator-patch.js → dashboard-generator-patch.ts} +18 -0
  177. package/ccw/src/core/{dashboard-generator.js → dashboard-generator.ts} +69 -12
  178. package/ccw/src/core/data-aggregator.ts +584 -0
  179. package/ccw/src/core/history-importer.ts +625 -0
  180. package/ccw/src/core/{lite-scanner.js → lite-scanner-complete.ts} +162 -66
  181. package/ccw/src/core/lite-scanner.ts +469 -0
  182. package/ccw/src/core/{manifest.js → manifest.ts} +104 -34
  183. package/ccw/src/core/memory-embedder-bridge.ts +262 -0
  184. package/ccw/src/core/memory-store.ts +978 -0
  185. package/ccw/src/core/routes/ccw-routes.ts +96 -0
  186. package/ccw/src/core/routes/claude-routes.ts +1183 -0
  187. package/ccw/src/core/routes/cli-routes.ts +561 -0
  188. package/ccw/src/core/routes/codexlens-routes.ts +806 -0
  189. package/ccw/src/core/routes/core-memory-routes.ts +605 -0
  190. package/ccw/src/core/routes/files-routes.ts +428 -0
  191. package/ccw/src/core/routes/graph-routes.md +164 -0
  192. package/ccw/src/core/routes/graph-routes.ts +626 -0
  193. package/ccw/src/core/routes/help-routes.ts +308 -0
  194. package/ccw/src/core/routes/hooks-routes.ts +405 -0
  195. package/ccw/src/core/routes/mcp-routes.ts +1271 -0
  196. package/ccw/src/core/routes/mcp-routes.ts.backup +550 -0
  197. package/ccw/src/core/routes/mcp-templates-db.ts +268 -0
  198. package/ccw/src/core/routes/memory-routes.ts +1206 -0
  199. package/ccw/src/core/routes/rules-routes.ts +526 -0
  200. package/ccw/src/core/routes/session-routes.ts +467 -0
  201. package/ccw/src/core/routes/skills-routes.ts +599 -0
  202. package/ccw/src/core/routes/status-routes.ts +57 -0
  203. package/ccw/src/core/routes/system-routes.ts +427 -0
  204. package/ccw/src/core/server.ts +431 -0
  205. package/ccw/src/core/session-clustering-service.ts +1258 -0
  206. package/ccw/src/core/session-scanner.ts +283 -0
  207. package/ccw/src/core/websocket.ts +190 -0
  208. package/ccw/src/{index.js → index.ts} +1 -0
  209. package/ccw/src/mcp-server/index.ts +186 -0
  210. package/ccw/src/templates/assets/css/github-dark.min.css +10 -0
  211. package/ccw/src/templates/assets/css/github.min.css +10 -0
  212. package/ccw/src/templates/assets/js/cytoscape.min.js +32 -0
  213. package/ccw/src/templates/assets/js/d3.min.js +2 -0
  214. package/ccw/src/templates/assets/js/highlight.min.js +1244 -0
  215. package/ccw/src/templates/assets/js/lucide.min.js +12 -0
  216. package/ccw/src/templates/assets/js/marked.min.js +69 -0
  217. package/ccw/src/templates/assets/js/tailwind.js +83 -0
  218. package/ccw/src/templates/dashboard-css/01-base.css +11 -0
  219. package/ccw/src/templates/dashboard-css/02-session.css +22 -0
  220. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +10 -0
  221. package/ccw/src/templates/dashboard-css/06-cards.css +10 -4
  222. package/ccw/src/templates/dashboard-css/07-managers.css +1178 -7
  223. package/ccw/src/templates/dashboard-css/09-explorer.css +23 -12
  224. package/ccw/src/templates/dashboard-css/10-cli-status.css +337 -0
  225. package/ccw/src/templates/dashboard-css/11-cli-history.css +271 -0
  226. package/ccw/src/templates/dashboard-css/12-cli-legacy.css +796 -0
  227. package/ccw/src/templates/dashboard-css/13-cli-ccw.css +199 -0
  228. package/ccw/src/templates/dashboard-css/14-cli-modals.css +258 -0
  229. package/ccw/src/templates/dashboard-css/15-cli-endpoints.css +305 -0
  230. package/ccw/src/templates/dashboard-css/16-cli-session.css +241 -0
  231. package/ccw/src/templates/dashboard-css/17-cli-conversation.css +283 -0
  232. package/ccw/src/templates/dashboard-css/18-cli-settings.css +160 -0
  233. package/ccw/src/templates/dashboard-css/19-cli-native-session.css +496 -0
  234. package/ccw/src/templates/dashboard-css/20-cli-taskqueue.css +188 -0
  235. package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +310 -0
  236. package/ccw/src/templates/dashboard-css/22-cli-semantic.css +240 -0
  237. package/ccw/src/templates/dashboard-css/23-memory.css +2390 -0
  238. package/ccw/src/templates/dashboard-css/24-prompt-history.css +1089 -0
  239. package/ccw/src/templates/dashboard-css/25-skills-rules.css +326 -0
  240. package/ccw/src/templates/dashboard-css/26-claude-manager.css +908 -0
  241. package/ccw/src/templates/dashboard-css/27-graph-explorer.css +1678 -0
  242. package/ccw/src/templates/dashboard-css/28-mcp-manager.css +748 -0
  243. package/ccw/src/templates/dashboard-css/29-help.css +264 -0
  244. package/ccw/src/templates/dashboard-css/30-core-memory.css +1700 -0
  245. package/ccw/src/templates/dashboard-js/api.js +162 -142
  246. package/ccw/src/templates/dashboard-js/components/carousel.js +4 -4
  247. package/ccw/src/templates/dashboard-js/components/cli-history.js +876 -0
  248. package/ccw/src/templates/dashboard-js/components/cli-status.js +978 -0
  249. package/ccw/src/templates/dashboard-js/components/global-notifications.js +508 -219
  250. package/ccw/src/templates/dashboard-js/components/hook-manager.js +1277 -282
  251. package/ccw/src/templates/dashboard-js/components/index-manager.js +302 -0
  252. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +718 -27
  253. package/ccw/src/templates/dashboard-js/components/modals.js +66 -0
  254. package/ccw/src/templates/dashboard-js/components/navigation.js +80 -12
  255. package/ccw/src/templates/dashboard-js/components/notifications.js +758 -194
  256. package/ccw/src/templates/dashboard-js/components/storage-manager.js +478 -0
  257. package/ccw/src/templates/dashboard-js/components/tabs-other.js +157 -6
  258. package/ccw/src/templates/dashboard-js/components/task-queue-sidebar.js +716 -0
  259. package/ccw/src/templates/dashboard-js/help-i18n.js +272 -0
  260. package/ccw/src/templates/dashboard-js/i18n.js +2807 -0
  261. package/ccw/src/templates/dashboard-js/main.js +15 -0
  262. package/ccw/src/templates/dashboard-js/state.js +243 -42
  263. package/ccw/src/templates/dashboard-js/utils.js +47 -1
  264. package/ccw/src/templates/dashboard-js/views/claude-manager.js +912 -0
  265. package/ccw/src/templates/dashboard-js/views/cli-manager.js +2272 -0
  266. package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +964 -0
  267. package/ccw/src/templates/dashboard-js/views/core-memory-clusters.js +503 -0
  268. package/ccw/src/templates/dashboard-js/views/core-memory.js +782 -0
  269. package/ccw/src/templates/dashboard-js/views/explorer.js +888 -852
  270. package/ccw/src/templates/dashboard-js/views/graph-explorer.js +1157 -0
  271. package/ccw/src/templates/dashboard-js/views/help.js +856 -0
  272. package/ccw/src/templates/dashboard-js/views/history.js +337 -0
  273. package/ccw/src/templates/dashboard-js/views/home.js +61 -15
  274. package/ccw/src/templates/dashboard-js/views/hook-manager.js +311 -43
  275. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +204 -28
  276. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +2187 -411
  277. package/ccw/src/templates/dashboard-js/views/mcp-manager.js.backup +1729 -0
  278. package/ccw/src/templates/dashboard-js/views/mcp-manager.js.new +928 -0
  279. package/ccw/src/templates/dashboard-js/views/memory.js +1221 -0
  280. package/ccw/src/templates/dashboard-js/views/prompt-history.js +713 -0
  281. package/ccw/src/templates/dashboard-js/views/rules-manager.js +828 -0
  282. package/ccw/src/templates/dashboard-js/views/session-detail.js +54 -53
  283. package/ccw/src/templates/dashboard-js/views/skills-manager.js +819 -0
  284. package/ccw/src/templates/dashboard.html +185 -85
  285. package/ccw/src/templates/hooks-config-example.json +60 -0
  286. package/ccw/src/tools/classify-folders.ts +245 -0
  287. package/ccw/src/tools/cli-config-manager.ts +268 -0
  288. package/ccw/src/tools/cli-executor.ts +2014 -0
  289. package/ccw/src/tools/cli-history-store.ts +1195 -0
  290. package/ccw/src/tools/codex-lens.ts +1141 -0
  291. package/ccw/src/tools/{convert-tokens-to-css.js → convert-tokens-to-css.ts} +73 -23
  292. package/ccw/src/tools/core-memory.ts +444 -0
  293. package/ccw/src/tools/detect-changed-modules.ts +325 -0
  294. package/ccw/src/tools/{discover-design-files.js → discover-design-files.ts} +74 -24
  295. package/ccw/src/tools/edit-file.ts +568 -0
  296. package/ccw/src/tools/{generate-module-docs.js → generate-module-docs.ts} +207 -185
  297. package/ccw/src/tools/{get-modules-by-depth.js → get-modules-by-depth.ts} +120 -79
  298. package/ccw/src/tools/index.ts +370 -0
  299. package/ccw/src/tools/native-session-discovery.ts +795 -0
  300. package/ccw/src/tools/notifier.ts +129 -0
  301. package/ccw/src/tools/read-file.ts +410 -0
  302. package/ccw/src/tools/resume-strategy.ts +345 -0
  303. package/ccw/src/tools/session-content-parser.ts +619 -0
  304. package/ccw/src/tools/session-manager.ts +1026 -0
  305. package/ccw/src/tools/smart-context.ts +228 -0
  306. package/ccw/src/tools/smart-search.ts +2065 -0
  307. package/ccw/src/tools/smart-search.ts.backup +1233 -0
  308. package/ccw/src/tools/storage-manager.ts +455 -0
  309. package/ccw/src/tools/write-file.ts +222 -0
  310. package/ccw/src/types/config.ts +11 -0
  311. package/ccw/src/types/index.ts +3 -0
  312. package/ccw/src/types/session.ts +25 -0
  313. package/ccw/src/types/tool.ts +41 -0
  314. package/ccw/src/utils/{browser-launcher.js → browser-launcher.ts} +10 -8
  315. package/ccw/src/utils/file-utils.ts +48 -0
  316. package/ccw/src/utils/{path-resolver.js → path-resolver.ts} +114 -78
  317. package/ccw/src/utils/path-validator.ts +153 -0
  318. package/ccw/src/utils/{ui.js → ui.ts} +32 -25
  319. package/codex-lens/pyproject.toml +48 -0
  320. package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
  321. package/codex-lens/src/codexlens/__init__.py +28 -0
  322. package/codex-lens/src/codexlens/__main__.py +14 -0
  323. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
  324. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
  325. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  326. package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
  327. package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
  328. package/codex-lens/src/codexlens/cli/__init__.py +27 -0
  329. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.pyc +0 -0
  330. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
  331. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
  332. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
  333. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
  334. package/codex-lens/src/codexlens/cli/commands.py +1931 -0
  335. package/codex-lens/src/codexlens/cli/embedding_manager.py +620 -0
  336. package/codex-lens/src/codexlens/cli/model_manager.py +289 -0
  337. package/codex-lens/src/codexlens/cli/output.py +124 -0
  338. package/codex-lens/src/codexlens/config.py +201 -0
  339. package/codex-lens/src/codexlens/entities.py +121 -0
  340. package/codex-lens/src/codexlens/errors.py +55 -0
  341. package/codex-lens/src/codexlens/indexing/README.md +77 -0
  342. package/codex-lens/src/codexlens/indexing/__init__.py +4 -0
  343. package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
  344. package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
  345. package/codex-lens/src/codexlens/indexing/symbol_extractor.py +243 -0
  346. package/codex-lens/src/codexlens/parsers/__init__.py +8 -0
  347. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  348. package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.pyc +0 -0
  349. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
  350. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-313.pyc +0 -0
  351. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
  352. package/codex-lens/src/codexlens/parsers/encoding.py +202 -0
  353. package/codex-lens/src/codexlens/parsers/factory.py +256 -0
  354. package/codex-lens/src/codexlens/parsers/tokenizer.py +98 -0
  355. package/codex-lens/src/codexlens/parsers/treesitter_parser.py +335 -0
  356. package/codex-lens/src/codexlens/search/__init__.py +15 -0
  357. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
  358. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  359. package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
  360. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  361. package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
  362. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  363. package/codex-lens/src/codexlens/search/chain_search.py +647 -0
  364. package/codex-lens/src/codexlens/search/enrichment.py +150 -0
  365. package/codex-lens/src/codexlens/search/hybrid_search.py +313 -0
  366. package/codex-lens/src/codexlens/search/query_parser.py +242 -0
  367. package/codex-lens/src/codexlens/search/ranking.py +274 -0
  368. package/codex-lens/src/codexlens/semantic/__init__.py +39 -0
  369. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
  370. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
  371. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
  372. package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
  373. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
  374. package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
  375. package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.pyc +0 -0
  376. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
  377. package/codex-lens/src/codexlens/semantic/ann_index.py +414 -0
  378. package/codex-lens/src/codexlens/semantic/chunker.py +448 -0
  379. package/codex-lens/src/codexlens/semantic/code_extractor.py +274 -0
  380. package/codex-lens/src/codexlens/semantic/embedder.py +185 -0
  381. package/codex-lens/src/codexlens/semantic/vector_store.py +955 -0
  382. package/codex-lens/src/codexlens/storage/__init__.py +29 -0
  383. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
  384. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  385. package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
  386. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
  387. package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
  388. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
  389. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.pyc +0 -0
  390. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
  391. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-313.pyc +0 -0
  392. package/codex-lens/src/codexlens/storage/dir_index.py +1850 -0
  393. package/codex-lens/src/codexlens/storage/file_cache.py +32 -0
  394. package/codex-lens/src/codexlens/storage/index_tree.py +776 -0
  395. package/codex-lens/src/codexlens/storage/migration_manager.py +154 -0
  396. package/codex-lens/src/codexlens/storage/migrations/__init__.py +1 -0
  397. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  398. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
  399. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
  400. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
  401. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
  402. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
  403. package/codex-lens/src/codexlens/storage/migrations/migration_001_normalize_keywords.py +123 -0
  404. package/codex-lens/src/codexlens/storage/migrations/migration_002_add_token_metadata.py +48 -0
  405. package/codex-lens/src/codexlens/storage/migrations/migration_004_dual_fts.py +232 -0
  406. package/codex-lens/src/codexlens/storage/migrations/migration_005_cleanup_unused_fields.py +196 -0
  407. package/codex-lens/src/codexlens/storage/path_mapper.py +274 -0
  408. package/codex-lens/src/codexlens/storage/registry.py +670 -0
  409. package/codex-lens/src/codexlens/storage/sqlite_store.py +576 -0
  410. package/codex-lens/src/codexlens/storage/sqlite_utils.py +64 -0
  411. package/package.json +4 -1
  412. package/.claude/commands/memory/tech-research.md +0 -477
  413. package/.claude/scripts/classify-folders.sh +0 -39
  414. package/.claude/scripts/convert_tokens_to_css.sh +0 -229
  415. package/.claude/scripts/detect_changed_modules.sh +0 -161
  416. package/.claude/scripts/discover-design-files.sh +0 -87
  417. package/.claude/scripts/extract-animations.js +0 -243
  418. package/.claude/scripts/extract-computed-styles.js +0 -118
  419. package/.claude/scripts/extract-layout-structure.js +0 -411
  420. package/.claude/scripts/generate_module_docs.sh +0 -717
  421. package/.claude/scripts/get_modules_by_depth.sh +0 -170
  422. package/.claude/scripts/ui-generate-preview.sh +0 -395
  423. package/.claude/scripts/ui-instantiate-prototypes.sh +0 -815
  424. package/.claude/scripts/update_module_claude.sh +0 -337
  425. package/.claude/workflows/context-search-strategy.md +0 -77
  426. package/.claude/workflows/intelligent-tools-strategy.md +0 -662
  427. package/ccw/src/cli.js +0 -119
  428. package/ccw/src/commands/install.js +0 -324
  429. package/ccw/src/commands/tool.js +0 -138
  430. package/ccw/src/core/data-aggregator.js +0 -409
  431. package/ccw/src/core/server.js +0 -2063
  432. package/ccw/src/core/session-scanner.js +0 -235
  433. package/ccw/src/tools/classify-folders.js +0 -204
  434. package/ccw/src/tools/detect-changed-modules.js +0 -288
  435. package/ccw/src/tools/edit-file.js +0 -266
  436. package/ccw/src/tools/index.js +0 -176
  437. package/ccw/src/utils/file-utils.js +0 -48
@@ -1,815 +0,0 @@
1
- #!/bin/bash
2
- # ⚠️ DEPRECATED: This script is deprecated.
3
- # Please use: ccw tool exec ui_instantiate_prototypes '{"designPath":"design-run-1","outputDir":"output"}'
4
- # This file will be removed in a future version.
5
-
6
-
7
- # UI Prototype Instantiation Script with Preview Generation (v3.0 - Auto-detect)
8
- # Purpose: Generate S × L × P final prototypes from templates + interactive preview files
9
- # Usage:
10
- # Simple: ui-instantiate-prototypes.sh <prototypes_dir>
11
- # Full: ui-instantiate-prototypes.sh <base_path> <pages> <style_variants> <layout_variants> [options]
12
-
13
- # Use safer error handling
14
- set -o pipefail
15
-
16
- # ============================================================================
17
- # Helper Functions
18
- # ============================================================================
19
-
20
- log_info() {
21
- echo "$1"
22
- }
23
-
24
- log_success() {
25
- echo "✅ $1"
26
- }
27
-
28
- log_error() {
29
- echo "❌ $1"
30
- }
31
-
32
- log_warning() {
33
- echo "⚠️ $1"
34
- }
35
-
36
- # Auto-detect pages from templates directory
37
- auto_detect_pages() {
38
- local templates_dir="$1/_templates"
39
-
40
- if [ ! -d "$templates_dir" ]; then
41
- log_error "Templates directory not found: $templates_dir"
42
- return 1
43
- fi
44
-
45
- # Find unique page names from template files (e.g., login-layout-1.html -> login)
46
- local pages=$(find "$templates_dir" -name "*-layout-*.html" -type f | \
47
- sed 's|.*/||' | \
48
- sed 's|-layout-[0-9]*\.html||' | \
49
- sort -u | \
50
- tr '\n' ',' | \
51
- sed 's/,$//')
52
-
53
- echo "$pages"
54
- }
55
-
56
- # Auto-detect style variants count
57
- auto_detect_style_variants() {
58
- local base_path="$1"
59
- local style_dir="$base_path/../style-extraction"
60
-
61
- if [ ! -d "$style_dir" ]; then
62
- log_warning "Style consolidation directory not found: $style_dir"
63
- echo "3" # Default
64
- return
65
- fi
66
-
67
- # Count style-* directories
68
- local count=$(find "$style_dir" -maxdepth 1 -type d -name "style-*" | wc -l)
69
-
70
- if [ "$count" -eq 0 ]; then
71
- echo "3" # Default
72
- else
73
- echo "$count"
74
- fi
75
- }
76
-
77
- # Auto-detect layout variants count
78
- auto_detect_layout_variants() {
79
- local templates_dir="$1/_templates"
80
-
81
- if [ ! -d "$templates_dir" ]; then
82
- echo "3" # Default
83
- return
84
- fi
85
-
86
- # Find the first page and count its layouts
87
- local first_page=$(find "$templates_dir" -name "*-layout-1.html" -type f | head -1 | sed 's|.*/||' | sed 's|-layout-1\.html||')
88
-
89
- if [ -z "$first_page" ]; then
90
- echo "3" # Default
91
- return
92
- fi
93
-
94
- # Count layout files for this page
95
- local count=$(find "$templates_dir" -name "${first_page}-layout-*.html" -type f | wc -l)
96
-
97
- if [ "$count" -eq 0 ]; then
98
- echo "3" # Default
99
- else
100
- echo "$count"
101
- fi
102
- }
103
-
104
- # ============================================================================
105
- # Parse Arguments
106
- # ============================================================================
107
-
108
- show_usage() {
109
- cat <<'EOF'
110
- Usage:
111
- Simple (auto-detect): ui-instantiate-prototypes.sh <prototypes_dir> [options]
112
- Full: ui-instantiate-prototypes.sh <base_path> <pages> <style_variants> <layout_variants> [options]
113
-
114
- Simple Mode (Recommended):
115
- prototypes_dir Path to prototypes directory (auto-detects everything)
116
-
117
- Full Mode:
118
- base_path Base path to prototypes directory
119
- pages Comma-separated list of pages/components
120
- style_variants Number of style variants (1-5)
121
- layout_variants Number of layout variants (1-5)
122
-
123
- Options:
124
- --run-id <id> Run ID (default: auto-generated)
125
- --session-id <id> Session ID (default: standalone)
126
- --mode <page|component> Exploration mode (default: page)
127
- --template <path> Path to compare.html template (default: ~/.claude/workflows/_template-compare-matrix.html)
128
- --no-preview Skip preview file generation
129
- --help Show this help message
130
-
131
- Examples:
132
- # Simple usage (auto-detect everything)
133
- ui-instantiate-prototypes.sh .workflow/design-run-*/prototypes
134
-
135
- # With options
136
- ui-instantiate-prototypes.sh .workflow/design-run-*/prototypes --session-id WFS-auth
137
-
138
- # Full manual mode
139
- ui-instantiate-prototypes.sh .workflow/design-run-*/prototypes "login,dashboard" 3 3 --session-id WFS-auth
140
- EOF
141
- }
142
-
143
- # Default values
144
- BASE_PATH=""
145
- PAGES=""
146
- STYLE_VARIANTS=""
147
- LAYOUT_VARIANTS=""
148
- RUN_ID="run-$(date +%Y%m%d-%H%M%S)"
149
- SESSION_ID="standalone"
150
- MODE="page"
151
- TEMPLATE_PATH="$HOME/.claude/workflows/_template-compare-matrix.html"
152
- GENERATE_PREVIEW=true
153
- AUTO_DETECT=false
154
-
155
- # Parse arguments
156
- if [ $# -lt 1 ]; then
157
- log_error "Missing required arguments"
158
- show_usage
159
- exit 1
160
- fi
161
-
162
- # Check if using simple mode (only 1 positional arg before options)
163
- if [ $# -eq 1 ] || [[ "$2" == --* ]]; then
164
- # Simple mode - auto-detect
165
- AUTO_DETECT=true
166
- BASE_PATH="$1"
167
- shift 1
168
- else
169
- # Full mode - manual parameters
170
- if [ $# -lt 4 ]; then
171
- log_error "Full mode requires 4 positional arguments"
172
- show_usage
173
- exit 1
174
- fi
175
-
176
- BASE_PATH="$1"
177
- PAGES="$2"
178
- STYLE_VARIANTS="$3"
179
- LAYOUT_VARIANTS="$4"
180
- shift 4
181
- fi
182
-
183
- # Parse optional arguments
184
- while [[ $# -gt 0 ]]; do
185
- case $1 in
186
- --run-id)
187
- RUN_ID="$2"
188
- shift 2
189
- ;;
190
- --session-id)
191
- SESSION_ID="$2"
192
- shift 2
193
- ;;
194
- --mode)
195
- MODE="$2"
196
- shift 2
197
- ;;
198
- --template)
199
- TEMPLATE_PATH="$2"
200
- shift 2
201
- ;;
202
- --no-preview)
203
- GENERATE_PREVIEW=false
204
- shift
205
- ;;
206
- --help)
207
- show_usage
208
- exit 0
209
- ;;
210
- *)
211
- log_error "Unknown option: $1"
212
- show_usage
213
- exit 1
214
- ;;
215
- esac
216
- done
217
-
218
- # ============================================================================
219
- # Auto-detection (if enabled)
220
- # ============================================================================
221
-
222
- if [ "$AUTO_DETECT" = true ]; then
223
- log_info "🔍 Auto-detecting configuration from directory..."
224
-
225
- # Detect pages
226
- PAGES=$(auto_detect_pages "$BASE_PATH")
227
- if [ -z "$PAGES" ]; then
228
- log_error "Could not auto-detect pages from templates"
229
- exit 1
230
- fi
231
- log_info " Pages: $PAGES"
232
-
233
- # Detect style variants
234
- STYLE_VARIANTS=$(auto_detect_style_variants "$BASE_PATH")
235
- log_info " Style variants: $STYLE_VARIANTS"
236
-
237
- # Detect layout variants
238
- LAYOUT_VARIANTS=$(auto_detect_layout_variants "$BASE_PATH")
239
- log_info " Layout variants: $LAYOUT_VARIANTS"
240
-
241
- echo ""
242
- fi
243
-
244
- # ============================================================================
245
- # Validation
246
- # ============================================================================
247
-
248
- # Validate base path
249
- if [ ! -d "$BASE_PATH" ]; then
250
- log_error "Base path not found: $BASE_PATH"
251
- exit 1
252
- fi
253
-
254
- # Validate style and layout variants
255
- if [ "$STYLE_VARIANTS" -lt 1 ] || [ "$STYLE_VARIANTS" -gt 5 ]; then
256
- log_error "Style variants must be between 1 and 5 (got: $STYLE_VARIANTS)"
257
- exit 1
258
- fi
259
-
260
- if [ "$LAYOUT_VARIANTS" -lt 1 ] || [ "$LAYOUT_VARIANTS" -gt 5 ]; then
261
- log_error "Layout variants must be between 1 and 5 (got: $LAYOUT_VARIANTS)"
262
- exit 1
263
- fi
264
-
265
- # Validate STYLE_VARIANTS against actual style directories
266
- if [ "$STYLE_VARIANTS" -gt 0 ]; then
267
- style_dir="$BASE_PATH/../style-extraction"
268
-
269
- if [ ! -d "$style_dir" ]; then
270
- log_error "Style consolidation directory not found: $style_dir"
271
- log_info "Run /workflow:ui-design:consolidate first"
272
- exit 1
273
- fi
274
-
275
- actual_styles=$(find "$style_dir" -maxdepth 1 -type d -name "style-*" 2>/dev/null | wc -l)
276
-
277
- if [ "$actual_styles" -eq 0 ]; then
278
- log_error "No style directories found in: $style_dir"
279
- log_info "Run /workflow:ui-design:consolidate first to generate style design systems"
280
- exit 1
281
- fi
282
-
283
- if [ "$STYLE_VARIANTS" -gt "$actual_styles" ]; then
284
- log_warning "Requested $STYLE_VARIANTS style variants, but only found $actual_styles directories"
285
- log_info "Available style directories:"
286
- find "$style_dir" -maxdepth 1 -type d -name "style-*" 2>/dev/null | sed 's|.*/||' | sort
287
- log_info "Auto-correcting to $actual_styles style variants"
288
- STYLE_VARIANTS=$actual_styles
289
- fi
290
- fi
291
-
292
- # Parse pages into array
293
- IFS=',' read -ra PAGE_ARRAY <<< "$PAGES"
294
-
295
- if [ ${#PAGE_ARRAY[@]} -eq 0 ]; then
296
- log_error "No pages found"
297
- exit 1
298
- fi
299
-
300
- # ============================================================================
301
- # Header Output
302
- # ============================================================================
303
-
304
- echo "========================================="
305
- echo "UI Prototype Instantiation & Preview"
306
- if [ "$AUTO_DETECT" = true ]; then
307
- echo "(Auto-detected configuration)"
308
- fi
309
- echo "========================================="
310
- echo "Base Path: $BASE_PATH"
311
- echo "Mode: $MODE"
312
- echo "Pages/Components: $PAGES"
313
- echo "Style Variants: $STYLE_VARIANTS"
314
- echo "Layout Variants: $LAYOUT_VARIANTS"
315
- echo "Run ID: $RUN_ID"
316
- echo "Session ID: $SESSION_ID"
317
- echo "========================================="
318
- echo ""
319
-
320
- # Change to base path
321
- cd "$BASE_PATH" || exit 1
322
-
323
- # ============================================================================
324
- # Phase 1: Instantiate Prototypes
325
- # ============================================================================
326
-
327
- log_info "🚀 Phase 1: Instantiating prototypes from templates..."
328
- echo ""
329
-
330
- total_generated=0
331
- total_failed=0
332
-
333
- for page in "${PAGE_ARRAY[@]}"; do
334
- # Trim whitespace
335
- page=$(echo "$page" | xargs)
336
-
337
- log_info "Processing page/component: $page"
338
-
339
- for s in $(seq 1 "$STYLE_VARIANTS"); do
340
- for l in $(seq 1 "$LAYOUT_VARIANTS"); do
341
- # Define file paths
342
- TEMPLATE_HTML="_templates/${page}-layout-${l}.html"
343
- STRUCTURAL_CSS="_templates/${page}-layout-${l}.css"
344
- TOKEN_CSS="../style-extraction/style-${s}/tokens.css"
345
- OUTPUT_HTML="${page}-style-${s}-layout-${l}.html"
346
-
347
- # Copy template and replace placeholders
348
- if [ -f "$TEMPLATE_HTML" ]; then
349
- cp "$TEMPLATE_HTML" "$OUTPUT_HTML" || {
350
- log_error "Failed to copy template: $TEMPLATE_HTML"
351
- ((total_failed++))
352
- continue
353
- }
354
-
355
- # Replace CSS placeholders (Windows-compatible sed syntax)
356
- sed -i "s|{{STRUCTURAL_CSS}}|${STRUCTURAL_CSS}|g" "$OUTPUT_HTML" || true
357
- sed -i "s|{{TOKEN_CSS}}|${TOKEN_CSS}|g" "$OUTPUT_HTML" || true
358
-
359
- log_success "Created: $OUTPUT_HTML"
360
- ((total_generated++))
361
-
362
- # Create implementation notes (simplified)
363
- NOTES_FILE="${page}-style-${s}-layout-${l}-notes.md"
364
-
365
- # Generate notes with simple heredoc
366
- cat > "$NOTES_FILE" <<NOTESEOF
367
- # Implementation Notes: ${page}-style-${s}-layout-${l}
368
-
369
- ## Generation Details
370
- - **Template**: ${TEMPLATE_HTML}
371
- - **Structural CSS**: ${STRUCTURAL_CSS}
372
- - **Style Tokens**: ${TOKEN_CSS}
373
- - **Layout Strategy**: Layout ${l}
374
- - **Style Variant**: Style ${s}
375
- - **Mode**: ${MODE}
376
-
377
- ## Template Reuse
378
- This prototype was generated from a shared layout template to ensure consistency
379
- across all style variants. The HTML structure is identical for all ${page}-layout-${l}
380
- prototypes, with only the design tokens (colors, fonts, spacing) varying.
381
-
382
- ## Design System Reference
383
- Refer to \`../style-extraction/style-${s}/style-guide.md\` for:
384
- - Design philosophy
385
- - Token usage guidelines
386
- - Component patterns
387
- - Accessibility requirements
388
-
389
- ## Customization
390
- To modify this prototype:
391
- 1. Edit the layout template: \`${TEMPLATE_HTML}\` (affects all styles)
392
- 2. Edit the structural CSS: \`${STRUCTURAL_CSS}\` (affects all styles)
393
- 3. Edit design tokens: \`${TOKEN_CSS}\` (affects only this style variant)
394
-
395
- ## Run Information
396
- - **Run ID**: ${RUN_ID}
397
- - **Session ID**: ${SESSION_ID}
398
- - **Generated**: $(date -u +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u +%Y-%m-%d)
399
- NOTESEOF
400
-
401
- else
402
- log_error "Template not found: $TEMPLATE_HTML"
403
- ((total_failed++))
404
- fi
405
- done
406
- done
407
- done
408
-
409
- echo ""
410
- log_success "Phase 1 complete: Generated ${total_generated} prototypes"
411
- if [ $total_failed -gt 0 ]; then
412
- log_warning "Failed: ${total_failed} prototypes"
413
- fi
414
- echo ""
415
-
416
- # ============================================================================
417
- # Phase 2: Generate Preview Files (if enabled)
418
- # ============================================================================
419
-
420
- if [ "$GENERATE_PREVIEW" = false ]; then
421
- log_info "⏭️ Skipping preview generation (--no-preview flag)"
422
- exit 0
423
- fi
424
-
425
- log_info "🎨 Phase 2: Generating preview files..."
426
- echo ""
427
-
428
- # ============================================================================
429
- # 2a. Generate compare.html from template
430
- # ============================================================================
431
-
432
- if [ ! -f "$TEMPLATE_PATH" ]; then
433
- log_warning "Template not found: $TEMPLATE_PATH"
434
- log_info " Skipping compare.html generation"
435
- else
436
- log_info "📄 Generating compare.html from template..."
437
-
438
- # Convert page array to JSON format
439
- PAGES_JSON="["
440
- for i in "${!PAGE_ARRAY[@]}"; do
441
- page=$(echo "${PAGE_ARRAY[$i]}" | xargs)
442
- PAGES_JSON+="\"$page\""
443
- if [ $i -lt $((${#PAGE_ARRAY[@]} - 1)) ]; then
444
- PAGES_JSON+=", "
445
- fi
446
- done
447
- PAGES_JSON+="]"
448
-
449
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u +%Y-%m-%d)
450
-
451
- # Read template and replace placeholders
452
- cat "$TEMPLATE_PATH" | \
453
- sed "s|{{run_id}}|${RUN_ID}|g" | \
454
- sed "s|{{session_id}}|${SESSION_ID}|g" | \
455
- sed "s|{{timestamp}}|${TIMESTAMP}|g" | \
456
- sed "s|{{style_variants}}|${STYLE_VARIANTS}|g" | \
457
- sed "s|{{layout_variants}}|${LAYOUT_VARIANTS}|g" | \
458
- sed "s|{{pages_json}}|${PAGES_JSON}|g" \
459
- > compare.html
460
-
461
- log_success "Generated: compare.html"
462
- fi
463
-
464
- # ============================================================================
465
- # 2b. Generate index.html
466
- # ============================================================================
467
-
468
- log_info "📄 Generating index.html..."
469
-
470
- # Calculate total prototypes
471
- TOTAL_PROTOTYPES=$((STYLE_VARIANTS * LAYOUT_VARIANTS * ${#PAGE_ARRAY[@]}))
472
-
473
- # Generate index.html with simple heredoc
474
- cat > index.html <<'INDEXEOF'
475
- <!DOCTYPE html>
476
- <html lang="en">
477
- <head>
478
- <meta charset="UTF-8">
479
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
480
- <title>UI Prototypes - __MODE__ Mode - __RUN_ID__</title>
481
- <style>
482
- body {
483
- font-family: system-ui, -apple-system, sans-serif;
484
- max-width: 900px;
485
- margin: 2rem auto;
486
- padding: 0 2rem;
487
- background: #f9fafb;
488
- }
489
- .header {
490
- background: white;
491
- padding: 2rem;
492
- border-radius: 0.75rem;
493
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
494
- margin-bottom: 2rem;
495
- }
496
- h1 {
497
- color: #2563eb;
498
- margin-bottom: 0.5rem;
499
- font-size: 2rem;
500
- }
501
- .meta {
502
- color: #6b7280;
503
- font-size: 0.875rem;
504
- margin-top: 0.5rem;
505
- }
506
- .info {
507
- background: #f3f4f6;
508
- padding: 1.5rem;
509
- border-radius: 0.5rem;
510
- margin: 1.5rem 0;
511
- border-left: 4px solid #2563eb;
512
- }
513
- .cta {
514
- display: inline-block;
515
- background: #2563eb;
516
- color: white;
517
- padding: 1rem 2rem;
518
- border-radius: 0.5rem;
519
- text-decoration: none;
520
- font-weight: 600;
521
- margin: 1rem 0;
522
- transition: background 0.2s;
523
- }
524
- .cta:hover {
525
- background: #1d4ed8;
526
- }
527
- .stats {
528
- display: grid;
529
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
530
- gap: 1rem;
531
- margin: 1.5rem 0;
532
- }
533
- .stat {
534
- background: white;
535
- border: 1px solid #e5e7eb;
536
- padding: 1.5rem;
537
- border-radius: 0.5rem;
538
- text-align: center;
539
- box-shadow: 0 1px 2px rgba(0,0,0,0.05);
540
- }
541
- .stat-value {
542
- font-size: 2.5rem;
543
- font-weight: bold;
544
- color: #2563eb;
545
- margin-bottom: 0.25rem;
546
- }
547
- .stat-label {
548
- color: #6b7280;
549
- font-size: 0.875rem;
550
- }
551
- .section {
552
- background: white;
553
- padding: 2rem;
554
- border-radius: 0.75rem;
555
- margin-bottom: 2rem;
556
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
557
- }
558
- h2 {
559
- color: #1f2937;
560
- margin-bottom: 1rem;
561
- font-size: 1.5rem;
562
- }
563
- ul {
564
- line-height: 1.8;
565
- color: #374151;
566
- }
567
- .pages-list {
568
- list-style: none;
569
- padding: 0;
570
- }
571
- .pages-list li {
572
- background: #f9fafb;
573
- padding: 0.75rem 1rem;
574
- margin: 0.5rem 0;
575
- border-radius: 0.375rem;
576
- border-left: 3px solid #2563eb;
577
- }
578
- .badge {
579
- display: inline-block;
580
- background: #dbeafe;
581
- color: #1e40af;
582
- padding: 0.25rem 0.75rem;
583
- border-radius: 0.25rem;
584
- font-size: 0.75rem;
585
- font-weight: 600;
586
- margin-left: 0.5rem;
587
- }
588
- </style>
589
- </head>
590
- <body>
591
- <div class="header">
592
- <h1>🎨 UI Prototype __MODE__ Mode</h1>
593
- <div class="meta">
594
- <strong>Run ID:</strong> __RUN_ID__ |
595
- <strong>Session:</strong> __SESSION_ID__ |
596
- <strong>Generated:</strong> __TIMESTAMP__
597
- </div>
598
- </div>
599
-
600
- <div class="info">
601
- <p><strong>Matrix Configuration:</strong> __STYLE_VARIANTS__ styles × __LAYOUT_VARIANTS__ layouts × __PAGE_COUNT__ __MODE__s</p>
602
- <p><strong>Total Prototypes:</strong> __TOTAL_PROTOTYPES__ interactive HTML files</p>
603
- </div>
604
-
605
- <a href="compare.html" class="cta">🔍 Open Interactive Matrix Comparison →</a>
606
-
607
- <div class="stats">
608
- <div class="stat">
609
- <div class="stat-value">__STYLE_VARIANTS__</div>
610
- <div class="stat-label">Style Variants</div>
611
- </div>
612
- <div class="stat">
613
- <div class="stat-value">__LAYOUT_VARIANTS__</div>
614
- <div class="stat-label">Layout Options</div>
615
- </div>
616
- <div class="stat">
617
- <div class="stat-value">__PAGE_COUNT__</div>
618
- <div class="stat-label">__MODE__s</div>
619
- </div>
620
- <div class="stat">
621
- <div class="stat-value">__TOTAL_PROTOTYPES__</div>
622
- <div class="stat-label">Total Prototypes</div>
623
- </div>
624
- </div>
625
-
626
- <div class="section">
627
- <h2>🌟 Features</h2>
628
- <ul>
629
- <li><strong>Interactive Matrix View:</strong> __STYLE_VARIANTS__×__LAYOUT_VARIANTS__ grid with synchronized scrolling</li>
630
- <li><strong>Flexible Zoom:</strong> 25%, 50%, 75%, 100% viewport scaling</li>
631
- <li><strong>Fullscreen Mode:</strong> Detailed view for individual prototypes</li>
632
- <li><strong>Selection System:</strong> Mark favorites with export to JSON</li>
633
- <li><strong>__MODE__ Switcher:</strong> Compare different __MODE__s side-by-side</li>
634
- <li><strong>Persistent State:</strong> Selections saved in localStorage</li>
635
- </ul>
636
- </div>
637
-
638
- <div class="section">
639
- <h2>📄 Generated __MODE__s</h2>
640
- <ul class="pages-list">
641
- __PAGES_LIST__
642
- </ul>
643
- </div>
644
-
645
- <div class="section">
646
- <h2>📚 Next Steps</h2>
647
- <ol>
648
- <li>Open <code>compare.html</code> to explore all variants in matrix view</li>
649
- <li>Use zoom and sync scroll controls to compare details</li>
650
- <li>Select your preferred style×layout combinations</li>
651
- <li>Export selections as JSON for implementation planning</li>
652
- <li>Review implementation notes in <code>*-notes.md</code> files</li>
653
- </ol>
654
- </div>
655
- </body>
656
- </html>
657
- INDEXEOF
658
-
659
- # Build pages list HTML
660
- PAGES_LIST_HTML=""
661
- for page in "${PAGE_ARRAY[@]}"; do
662
- page=$(echo "$page" | xargs)
663
- VARIANT_COUNT=$((STYLE_VARIANTS * LAYOUT_VARIANTS))
664
- PAGES_LIST_HTML+=" <li>\n"
665
- PAGES_LIST_HTML+=" <strong>${page}</strong>\n"
666
- PAGES_LIST_HTML+=" <span class=\"badge\">${STYLE_VARIANTS}×${LAYOUT_VARIANTS} = ${VARIANT_COUNT} variants</span>\n"
667
- PAGES_LIST_HTML+=" </li>\n"
668
- done
669
-
670
- # Replace all placeholders in index.html
671
- MODE_UPPER=$(echo "$MODE" | awk '{print toupper(substr($0,1,1)) tolower(substr($0,2))}')
672
- sed -i "s|__RUN_ID__|${RUN_ID}|g" index.html
673
- sed -i "s|__SESSION_ID__|${SESSION_ID}|g" index.html
674
- sed -i "s|__TIMESTAMP__|${TIMESTAMP}|g" index.html
675
- sed -i "s|__MODE__|${MODE_UPPER}|g" index.html
676
- sed -i "s|__STYLE_VARIANTS__|${STYLE_VARIANTS}|g" index.html
677
- sed -i "s|__LAYOUT_VARIANTS__|${LAYOUT_VARIANTS}|g" index.html
678
- sed -i "s|__PAGE_COUNT__|${#PAGE_ARRAY[@]}|g" index.html
679
- sed -i "s|__TOTAL_PROTOTYPES__|${TOTAL_PROTOTYPES}|g" index.html
680
- sed -i "s|__PAGES_LIST__|${PAGES_LIST_HTML}|g" index.html
681
-
682
- log_success "Generated: index.html"
683
-
684
- # ============================================================================
685
- # 2c. Generate PREVIEW.md
686
- # ============================================================================
687
-
688
- log_info "📄 Generating PREVIEW.md..."
689
-
690
- cat > PREVIEW.md <<PREVIEWEOF
691
- # UI Prototype Preview Guide
692
-
693
- ## Quick Start
694
- 1. Open \`index.html\` for overview and navigation
695
- 2. Open \`compare.html\` for interactive matrix comparison
696
- 3. Use browser developer tools to inspect responsive behavior
697
-
698
- ## Configuration
699
-
700
- - **Exploration Mode:** ${MODE_UPPER}
701
- - **Run ID:** ${RUN_ID}
702
- - **Session ID:** ${SESSION_ID}
703
- - **Style Variants:** ${STYLE_VARIANTS}
704
- - **Layout Options:** ${LAYOUT_VARIANTS}
705
- - **${MODE_UPPER}s:** ${PAGES}
706
- - **Total Prototypes:** ${TOTAL_PROTOTYPES}
707
- - **Generated:** ${TIMESTAMP}
708
-
709
- ## File Naming Convention
710
-
711
- \`\`\`
712
- {${MODE}}-style-{s}-layout-{l}.html
713
- \`\`\`
714
-
715
- **Example:** \`dashboard-style-1-layout-2.html\`
716
- - ${MODE_UPPER}: dashboard
717
- - Style: Design system 1
718
- - Layout: Layout variant 2
719
-
720
- ## Interactive Features (compare.html)
721
-
722
- ### Matrix View
723
- - **Grid Layout:** ${STYLE_VARIANTS}×${LAYOUT_VARIANTS} table with all prototypes visible
724
- - **Synchronized Scroll:** All iframes scroll together (toggle with button)
725
- - **Zoom Controls:** Adjust viewport scale (25%, 50%, 75%, 100%)
726
- - **${MODE_UPPER} Selector:** Switch between different ${MODE}s instantly
727
-
728
- ### Prototype Actions
729
- - **⭐ Selection:** Click star icon to mark favorites
730
- - **⛶ Fullscreen:** View prototype in fullscreen overlay
731
- - **↗ New Tab:** Open prototype in dedicated browser tab
732
-
733
- ### Selection Export
734
- 1. Select preferred prototypes using star icons
735
- 2. Click "Export Selection" button
736
- 3. Downloads JSON file: \`selection-${RUN_ID}.json\`
737
- 4. Use exported file for implementation planning
738
-
739
- ## Design System References
740
-
741
- Each prototype references a specific style design system:
742
- PREVIEWEOF
743
-
744
- # Add style references
745
- for s in $(seq 1 "$STYLE_VARIANTS"); do
746
- cat >> PREVIEW.md <<STYLEEOF
747
-
748
- ### Style ${s}
749
- - **Tokens:** \`../style-extraction/style-${s}/design-tokens.json\`
750
- - **CSS Variables:** \`../style-extraction/style-${s}/tokens.css\`
751
- - **Style Guide:** \`../style-extraction/style-${s}/style-guide.md\`
752
- STYLEEOF
753
- done
754
-
755
- cat >> PREVIEW.md <<'FOOTEREOF'
756
-
757
- ## Responsive Testing
758
-
759
- All prototypes are mobile-first responsive. Test at these breakpoints:
760
-
761
- - **Mobile:** 375px - 767px
762
- - **Tablet:** 768px - 1023px
763
- - **Desktop:** 1024px+
764
-
765
- Use browser DevTools responsive mode for testing.
766
-
767
- ## Accessibility Features
768
-
769
- - Semantic HTML5 structure
770
- - ARIA attributes for screen readers
771
- - Keyboard navigation support
772
- - Proper heading hierarchy
773
- - Focus indicators
774
-
775
- ## Next Steps
776
-
777
- 1. **Review:** Open `compare.html` and explore all variants
778
- 2. **Select:** Mark preferred prototypes using star icons
779
- 3. **Export:** Download selection JSON for implementation
780
- 4. **Implement:** Use `/workflow:ui-design:update` to integrate selected designs
781
- 5. **Plan:** Run `/workflow:plan` to generate implementation tasks
782
-
783
- ---
784
-
785
- **Generated by:** `ui-instantiate-prototypes.sh`
786
- **Version:** 3.0 (auto-detect mode)
787
- FOOTEREOF
788
-
789
- log_success "Generated: PREVIEW.md"
790
-
791
- # ============================================================================
792
- # Completion Summary
793
- # ============================================================================
794
-
795
- echo ""
796
- echo "========================================="
797
- echo "✅ Generation Complete!"
798
- echo "========================================="
799
- echo ""
800
- echo "📊 Summary:"
801
- echo " Prototypes: ${total_generated} generated"
802
- if [ $total_failed -gt 0 ]; then
803
- echo " Failed: ${total_failed}"
804
- fi
805
- echo " Preview Files: compare.html, index.html, PREVIEW.md"
806
- echo " Matrix: ${STYLE_VARIANTS}×${LAYOUT_VARIANTS} (${#PAGE_ARRAY[@]} ${MODE}s)"
807
- echo " Total Files: ${TOTAL_PROTOTYPES} prototypes + preview files"
808
- echo ""
809
- echo "🌐 Next Steps:"
810
- echo " 1. Open: ${BASE_PATH}/index.html"
811
- echo " 2. Explore: ${BASE_PATH}/compare.html"
812
- echo " 3. Review: ${BASE_PATH}/PREVIEW.md"
813
- echo ""
814
- echo "Performance: Template-based approach with ${STYLE_VARIANTS}× speedup"
815
- echo "========================================="