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,170 +0,0 @@
1
- #!/bin/bash
2
- # ⚠️ DEPRECATED: This script is deprecated.
3
- # Please use: ccw tool exec get_modules_by_depth '{"format":"list","path":"."}' OR ccw tool exec get_modules_by_depth '{}'
4
- # This file will be removed in a future version.
5
-
6
- # Get modules organized by directory depth (deepest first)
7
- # Usage: get_modules_by_depth.sh [format]
8
- # format: list|grouped|json (default: list)
9
-
10
- # Parse .gitignore patterns and build exclusion filters
11
- build_exclusion_filters() {
12
- local filters=""
13
-
14
- # Always exclude these system/cache directories and common web dev packages
15
- local system_excludes=(
16
- # Version control and IDE
17
- ".git" ".gitignore" ".gitmodules" ".gitattributes"
18
- ".svn" ".hg" ".bzr"
19
- ".history" ".vscode" ".idea" ".vs" ".vscode-test"
20
- ".sublime-text" ".atom"
21
-
22
- # Python
23
- "__pycache__" ".pytest_cache" ".mypy_cache" ".tox"
24
- ".coverage" "htmlcov" ".nox" ".venv" "venv" "env"
25
- ".egg-info" "*.egg-info" ".eggs" ".wheel"
26
- "site-packages" ".python-version" ".pyc"
27
-
28
- # Node.js/JavaScript
29
- "node_modules" ".npm" ".yarn" ".pnpm" "yarn-error.log"
30
- ".nyc_output" "coverage" ".next" ".nuxt"
31
- ".cache" ".parcel-cache" ".vite" "dist" "build"
32
- ".turbo" ".vercel" ".netlify"
33
-
34
- # Package managers
35
- ".pnpm-store" "pnpm-lock.yaml" "yarn.lock" "package-lock.json"
36
- ".bundle" "vendor/bundle" "Gemfile.lock"
37
- ".gradle" "gradle" "gradlew" "gradlew.bat"
38
- ".mvn" "target" ".m2"
39
-
40
- # Build/compile outputs
41
- "dist" "build" "out" "output" "_site" "public"
42
- ".output" ".generated" "generated" "gen"
43
- "bin" "obj" "Debug" "Release"
44
-
45
- # Testing
46
- ".pytest_cache" ".coverage" "htmlcov" "test-results"
47
- ".nyc_output" "junit.xml" "test_results"
48
- "cypress/screenshots" "cypress/videos"
49
- "playwright-report" ".playwright"
50
-
51
- # Logs and temp files
52
- "logs" "*.log" "log" "tmp" "temp" ".tmp" ".temp"
53
- ".env" ".env.local" ".env.*.local"
54
- ".DS_Store" "Thumbs.db" "*.tmp" "*.swp" "*.swo"
55
-
56
- # Documentation build outputs
57
- "_book" "_site" "docs/_build" "site" "gh-pages"
58
- ".docusaurus" ".vuepress" ".gitbook"
59
-
60
- # Database files
61
- "*.sqlite" "*.sqlite3" "*.db" "data.db"
62
-
63
- # OS and editor files
64
- ".DS_Store" "Thumbs.db" "desktop.ini"
65
- "*.stackdump" "*.core"
66
-
67
- # Cloud and deployment
68
- ".serverless" ".terraform" "terraform.tfstate"
69
- ".aws" ".azure" ".gcp"
70
-
71
- # Mobile development
72
- ".gradle" "build" ".expo" ".metro"
73
- "android/app/build" "ios/build" "DerivedData"
74
-
75
- # Game development
76
- "Library" "Temp" "ProjectSettings"
77
- "Logs" "MemoryCaptures" "UserSettings"
78
- )
79
-
80
- for exclude in "${system_excludes[@]}"; do
81
- filters+=" -not -path '*/$exclude' -not -path '*/$exclude/*'"
82
- done
83
-
84
- # Parse .gitignore if it exists
85
- if [ -f ".gitignore" ]; then
86
- while IFS= read -r line; do
87
- # Skip empty lines and comments
88
- [[ -z "$line" || "$line" =~ ^[[:space:]]*# ]] && continue
89
-
90
- # Remove trailing slash and whitespace
91
- line=$(echo "$line" | sed 's|/$||' | xargs)
92
-
93
- # Add to filters
94
- filters+=" -not -path '*/$line' -not -path '*/$line/*'"
95
- done < .gitignore
96
- fi
97
-
98
- echo "$filters"
99
- }
100
-
101
- get_modules_by_depth() {
102
- local format="${1:-list}"
103
- local exclusion_filters=$(build_exclusion_filters)
104
- local max_depth=$(eval "find . -type d $exclusion_filters 2>/dev/null" | awk -F/ '{print NF-1}' | sort -n | tail -1)
105
-
106
- case "$format" in
107
- "grouped")
108
- echo "📊 Modules by depth (deepest first):"
109
- for depth in $(seq $max_depth -1 0); do
110
- local dirs=$(eval "find . -mindepth $depth -maxdepth $depth -type d $exclusion_filters 2>/dev/null" | \
111
- while read dir; do
112
- if [ $(find "$dir" -maxdepth 1 -type f 2>/dev/null | wc -l) -gt 0 ]; then
113
- local claude_indicator=""
114
- [ -f "$dir/CLAUDE.md" ] && claude_indicator=" [✓]"
115
- echo "$dir$claude_indicator"
116
- fi
117
- done)
118
- if [ -n "$dirs" ]; then
119
- echo " 📁 Depth $depth:"
120
- echo "$dirs" | sed 's/^/ - /'
121
- fi
122
- done
123
- ;;
124
-
125
- "json")
126
- echo "{"
127
- echo " \"max_depth\": $max_depth,"
128
- echo " \"modules\": {"
129
- for depth in $(seq $max_depth -1 0); do
130
- local dirs=$(eval "find . -mindepth $depth -maxdepth $depth -type d $exclusion_filters 2>/dev/null" | \
131
- while read dir; do
132
- if [ $(find "$dir" -maxdepth 1 -type f 2>/dev/null | wc -l) -gt 0 ]; then
133
- local has_claude="false"
134
- [ -f "$dir/CLAUDE.md" ] && has_claude="true"
135
- echo "{\"path\":\"$dir\",\"has_claude\":$has_claude}"
136
- fi
137
- done | tr '\n' ',')
138
- if [ -n "$dirs" ]; then
139
- dirs=${dirs%,} # Remove trailing comma
140
- echo " \"$depth\": [$dirs]"
141
- [ $depth -gt 0 ] && echo ","
142
- fi
143
- done
144
- echo " }"
145
- echo "}"
146
- ;;
147
-
148
- "list"|*)
149
- # Simple list format (deepest first)
150
- for depth in $(seq $max_depth -1 0); do
151
- eval "find . -mindepth $depth -maxdepth $depth -type d $exclusion_filters 2>/dev/null" | \
152
- while read dir; do
153
- if [ $(find "$dir" -maxdepth 1 -type f 2>/dev/null | wc -l) -gt 0 ]; then
154
- local file_count=$(find "$dir" -maxdepth 1 -type f 2>/dev/null | wc -l)
155
- local types=$(find "$dir" -maxdepth 1 -type f -name "*.*" 2>/dev/null | \
156
- grep -E '\.[^/]*$' | sed 's/.*\.//' | sort -u | tr '\n' ',' | sed 's/,$//')
157
- local has_claude="no"
158
- [ -f "$dir/CLAUDE.md" ] && has_claude="yes"
159
- echo "depth:$depth|path:$dir|files:$file_count|types:[$types]|has_claude:$has_claude"
160
- fi
161
- done
162
- done
163
- ;;
164
- esac
165
- }
166
-
167
- # Execute function if script is run directly
168
- if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
169
- get_modules_by_depth "$@"
170
- fi
@@ -1,395 +0,0 @@
1
- #!/bin/bash
2
- # ⚠️ DEPRECATED: This script is deprecated.
3
- # Please use: ccw tool exec ui_generate_preview '{"designPath":"design-run-1","outputDir":"preview"}'
4
- # This file will be removed in a future version.
5
-
6
- #
7
- # UI Generate Preview v2.0 - Template-Based Preview Generation
8
- # Purpose: Generate compare.html and index.html using template substitution
9
- # Template: ~/.claude/workflows/_template-compare-matrix.html
10
- #
11
- # Usage: ui-generate-preview.sh <prototypes_dir> [--template <path>]
12
- #
13
-
14
- set -e
15
-
16
- # Color output
17
- RED='\033[0;31m'
18
- GREEN='\033[0;32m'
19
- YELLOW='\033[1;33m'
20
- NC='\033[0m' # No Color
21
-
22
- # Default template path
23
- TEMPLATE_PATH="$HOME/.claude/workflows/_template-compare-matrix.html"
24
-
25
- # Parse arguments
26
- prototypes_dir="${1:-.}"
27
- shift || true
28
-
29
- while [[ $# -gt 0 ]]; do
30
- case $1 in
31
- --template)
32
- TEMPLATE_PATH="$2"
33
- shift 2
34
- ;;
35
- *)
36
- echo -e "${RED}Unknown option: $1${NC}"
37
- exit 1
38
- ;;
39
- esac
40
- done
41
-
42
- if [[ ! -d "$prototypes_dir" ]]; then
43
- echo -e "${RED}Error: Directory not found: $prototypes_dir${NC}"
44
- exit 1
45
- fi
46
-
47
- cd "$prototypes_dir" || exit 1
48
-
49
- echo -e "${GREEN}📊 Auto-detecting matrix dimensions...${NC}"
50
-
51
- # Auto-detect styles, layouts, targets from file patterns
52
- # Pattern: {target}-style-{s}-layout-{l}.html
53
- styles=$(find . -maxdepth 1 -name "*-style-*-layout-*.html" | \
54
- sed 's/.*-style-\([0-9]\+\)-.*/\1/' | sort -un)
55
- layouts=$(find . -maxdepth 1 -name "*-style-*-layout-*.html" | \
56
- sed 's/.*-layout-\([0-9]\+\)\.html/\1/' | sort -un)
57
- targets=$(find . -maxdepth 1 -name "*-style-*-layout-*.html" | \
58
- sed 's/\.\///; s/-style-.*//' | sort -u)
59
-
60
- S=$(echo "$styles" | wc -l)
61
- L=$(echo "$layouts" | wc -l)
62
- T=$(echo "$targets" | wc -l)
63
-
64
- echo -e " Detected: ${GREEN}${S}${NC} styles × ${GREEN}${L}${NC} layouts × ${GREEN}${T}${NC} targets"
65
-
66
- if [[ $S -eq 0 ]] || [[ $L -eq 0 ]] || [[ $T -eq 0 ]]; then
67
- echo -e "${RED}Error: No prototype files found matching pattern {target}-style-{s}-layout-{l}.html${NC}"
68
- exit 1
69
- fi
70
-
71
- # ============================================================================
72
- # Generate compare.html from template
73
- # ============================================================================
74
-
75
- echo -e "${YELLOW}🎨 Generating compare.html from template...${NC}"
76
-
77
- if [[ ! -f "$TEMPLATE_PATH" ]]; then
78
- echo -e "${RED}Error: Template not found: $TEMPLATE_PATH${NC}"
79
- exit 1
80
- fi
81
-
82
- # Build pages/targets JSON array
83
- PAGES_JSON="["
84
- first=true
85
- for target in $targets; do
86
- if [[ "$first" == true ]]; then
87
- first=false
88
- else
89
- PAGES_JSON+=", "
90
- fi
91
- PAGES_JSON+="\"$target\""
92
- done
93
- PAGES_JSON+="]"
94
-
95
- # Generate metadata
96
- RUN_ID="run-$(date +%Y%m%d-%H%M%S)"
97
- SESSION_ID="standalone"
98
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u +"%Y-%m-%d")
99
-
100
- # Replace placeholders in template
101
- cat "$TEMPLATE_PATH" | \
102
- sed "s|{{run_id}}|${RUN_ID}|g" | \
103
- sed "s|{{session_id}}|${SESSION_ID}|g" | \
104
- sed "s|{{timestamp}}|${TIMESTAMP}|g" | \
105
- sed "s|{{style_variants}}|${S}|g" | \
106
- sed "s|{{layout_variants}}|${L}|g" | \
107
- sed "s|{{pages_json}}|${PAGES_JSON}|g" \
108
- > compare.html
109
-
110
- echo -e "${GREEN} ✓ Generated compare.html from template${NC}"
111
-
112
- # ============================================================================
113
- # Generate index.html
114
- # ============================================================================
115
-
116
- echo -e "${YELLOW}📋 Generating index.html...${NC}"
117
-
118
- cat > index.html << 'EOF'
119
- <!DOCTYPE html>
120
- <html lang="en">
121
- <head>
122
- <meta charset="UTF-8">
123
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
124
- <title>UI Prototypes Index</title>
125
- <style>
126
- * { margin: 0; padding: 0; box-sizing: border-box; }
127
- body {
128
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
129
- max-width: 1200px;
130
- margin: 0 auto;
131
- padding: 40px 20px;
132
- background: #f5f5f5;
133
- }
134
- h1 { margin-bottom: 10px; color: #333; }
135
- .subtitle { color: #666; margin-bottom: 30px; }
136
- .cta {
137
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
138
- color: white;
139
- padding: 20px;
140
- border-radius: 8px;
141
- margin-bottom: 30px;
142
- box-shadow: 0 4px 6px rgba(0,0,0,0.1);
143
- }
144
- .cta h2 { margin-bottom: 10px; }
145
- .cta a {
146
- display: inline-block;
147
- background: white;
148
- color: #667eea;
149
- padding: 10px 20px;
150
- border-radius: 6px;
151
- text-decoration: none;
152
- font-weight: 600;
153
- margin-top: 10px;
154
- }
155
- .cta a:hover { background: #f8f9fa; }
156
- .style-section {
157
- background: white;
158
- padding: 20px;
159
- border-radius: 8px;
160
- margin-bottom: 20px;
161
- box-shadow: 0 2px 4px rgba(0,0,0,0.1);
162
- }
163
- .style-section h2 {
164
- color: #495057;
165
- margin-bottom: 15px;
166
- padding-bottom: 10px;
167
- border-bottom: 2px solid #e9ecef;
168
- }
169
- .target-group {
170
- margin-bottom: 20px;
171
- }
172
- .target-group h3 {
173
- color: #6c757d;
174
- font-size: 16px;
175
- margin-bottom: 10px;
176
- }
177
- .link-grid {
178
- display: grid;
179
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
180
- gap: 10px;
181
- }
182
- .prototype-link {
183
- padding: 12px 16px;
184
- background: #f8f9fa;
185
- border: 1px solid #dee2e6;
186
- border-radius: 6px;
187
- text-decoration: none;
188
- color: #495057;
189
- display: flex;
190
- justify-content: space-between;
191
- align-items: center;
192
- transition: all 0.2s;
193
- }
194
- .prototype-link:hover {
195
- background: #e9ecef;
196
- border-color: #667eea;
197
- transform: translateX(2px);
198
- }
199
- .prototype-link .label { font-weight: 500; }
200
- .prototype-link .icon { color: #667eea; }
201
- </style>
202
- </head>
203
- <body>
204
- <h1>🎨 UI Prototypes Index</h1>
205
- <p class="subtitle">Generated __S__×__L__×__T__ = __TOTAL__ prototypes</p>
206
-
207
- <div class="cta">
208
- <h2>📊 Interactive Comparison</h2>
209
- <p>View all styles and layouts side-by-side in an interactive matrix</p>
210
- <a href="compare.html">Open Matrix View →</a>
211
- </div>
212
-
213
- <h2>📂 All Prototypes</h2>
214
- __CONTENT__
215
- </body>
216
- </html>
217
- EOF
218
-
219
- # Build content HTML
220
- CONTENT=""
221
- for style in $styles; do
222
- CONTENT+="<div class='style-section'>"$'\n'
223
- CONTENT+="<h2>Style ${style}</h2>"$'\n'
224
-
225
- for target in $targets; do
226
- target_capitalized="$(echo ${target:0:1} | tr '[:lower:]' '[:upper:]')${target:1}"
227
- CONTENT+="<div class='target-group'>"$'\n'
228
- CONTENT+="<h3>${target_capitalized}</h3>"$'\n'
229
- CONTENT+="<div class='link-grid'>"$'\n'
230
-
231
- for layout in $layouts; do
232
- html_file="${target}-style-${style}-layout-${layout}.html"
233
- if [[ -f "$html_file" ]]; then
234
- CONTENT+="<a href='${html_file}' class='prototype-link' target='_blank'>"$'\n'
235
- CONTENT+="<span class='label'>Layout ${layout}</span>"$'\n'
236
- CONTENT+="<span class='icon'>↗</span>"$'\n'
237
- CONTENT+="</a>"$'\n'
238
- fi
239
- done
240
-
241
- CONTENT+="</div></div>"$'\n'
242
- done
243
-
244
- CONTENT+="</div>"$'\n'
245
- done
246
-
247
- # Calculate total
248
- TOTAL_PROTOTYPES=$((S * L * T))
249
-
250
- # Replace placeholders (using a temp file for complex replacement)
251
- {
252
- echo "$CONTENT" > /tmp/content_tmp.txt
253
- sed "s|__S__|${S}|g" index.html | \
254
- sed "s|__L__|${L}|g" | \
255
- sed "s|__T__|${T}|g" | \
256
- sed "s|__TOTAL__|${TOTAL_PROTOTYPES}|g" | \
257
- sed -e "/__CONTENT__/r /tmp/content_tmp.txt" -e "/__CONTENT__/d" > /tmp/index_tmp.html
258
- mv /tmp/index_tmp.html index.html
259
- rm -f /tmp/content_tmp.txt
260
- }
261
-
262
- echo -e "${GREEN} ✓ Generated index.html${NC}"
263
-
264
- # ============================================================================
265
- # Generate PREVIEW.md
266
- # ============================================================================
267
-
268
- echo -e "${YELLOW}📝 Generating PREVIEW.md...${NC}"
269
-
270
- cat > PREVIEW.md << EOF
271
- # UI Prototypes Preview Guide
272
-
273
- Generated: $(date +"%Y-%m-%d %H:%M:%S")
274
-
275
- ## 📊 Matrix Dimensions
276
-
277
- - **Styles**: ${S}
278
- - **Layouts**: ${L}
279
- - **Targets**: ${T}
280
- - **Total Prototypes**: $((S*L*T))
281
-
282
- ## 🌐 How to View
283
-
284
- ### Option 1: Interactive Matrix (Recommended)
285
-
286
- Open \`compare.html\` in your browser to see all prototypes in an interactive matrix view.
287
-
288
- **Features**:
289
- - Side-by-side comparison of all styles and layouts
290
- - Switch between targets using the dropdown
291
- - Adjust grid columns for better viewing
292
- - Direct links to full-page views
293
- - Selection system with export to JSON
294
- - Fullscreen mode for detailed inspection
295
-
296
- ### Option 2: Simple Index
297
-
298
- Open \`index.html\` for a simple list of all prototypes with direct links.
299
-
300
- ### Option 3: Direct File Access
301
-
302
- Each prototype can be opened directly:
303
- - Pattern: \`{target}-style-{s}-layout-{l}.html\`
304
- - Example: \`dashboard-style-1-layout-1.html\`
305
-
306
- ## 📁 File Structure
307
-
308
- \`\`\`
309
- prototypes/
310
- ├── compare.html # Interactive matrix view
311
- ├── index.html # Simple navigation index
312
- ├── PREVIEW.md # This file
313
- EOF
314
-
315
- for style in $styles; do
316
- for target in $targets; do
317
- for layout in $layouts; do
318
- echo "├── ${target}-style-${style}-layout-${layout}.html" >> PREVIEW.md
319
- echo "├── ${target}-style-${style}-layout-${layout}.css" >> PREVIEW.md
320
- done
321
- done
322
- done
323
-
324
- cat >> PREVIEW.md << 'EOF2'
325
- ```
326
-
327
- ## 🎨 Style Variants
328
-
329
- EOF2
330
-
331
- for style in $styles; do
332
- cat >> PREVIEW.md << EOF3
333
- ### Style ${style}
334
-
335
- EOF3
336
- style_guide="../style-extraction/style-${style}/style-guide.md"
337
- if [[ -f "$style_guide" ]]; then
338
- head -n 10 "$style_guide" | tail -n +2 >> PREVIEW.md 2>/dev/null || echo "Design philosophy and tokens" >> PREVIEW.md
339
- else
340
- echo "Design system ${style}" >> PREVIEW.md
341
- fi
342
- echo "" >> PREVIEW.md
343
- done
344
-
345
- cat >> PREVIEW.md << 'EOF4'
346
-
347
- ## 🎯 Targets
348
-
349
- EOF4
350
-
351
- for target in $targets; do
352
- target_capitalized="$(echo ${target:0:1} | tr '[:lower:]' '[:upper:]')${target:1}"
353
- echo "- **${target_capitalized}**: ${L} layouts × ${S} styles = $((L*S)) variations" >> PREVIEW.md
354
- done
355
-
356
- cat >> PREVIEW.md << 'EOF5'
357
-
358
- ## 💡 Tips
359
-
360
- 1. **Comparison**: Use compare.html to see how different styles affect the same layout
361
- 2. **Navigation**: Use index.html for quick access to specific prototypes
362
- 3. **Selection**: Mark favorites in compare.html using star icons
363
- 4. **Export**: Download selection JSON for implementation planning
364
- 5. **Inspection**: Open browser DevTools to inspect HTML structure and CSS
365
- 6. **Sharing**: All files are standalone - can be shared or deployed directly
366
-
367
- ## 📝 Next Steps
368
-
369
- 1. Review prototypes in compare.html
370
- 2. Select preferred style × layout combinations
371
- 3. Export selections as JSON
372
- 4. Provide feedback for refinement
373
- 5. Use selected designs for implementation
374
-
375
- ---
376
-
377
- Generated by /workflow:ui-design:generate-v2 (Style-Centric Architecture)
378
- EOF5
379
-
380
- echo -e "${GREEN} ✓ Generated PREVIEW.md${NC}"
381
-
382
- # ============================================================================
383
- # Completion Summary
384
- # ============================================================================
385
-
386
- echo ""
387
- echo -e "${GREEN}✅ Preview generation complete!${NC}"
388
- echo -e " Files created: compare.html, index.html, PREVIEW.md"
389
- echo -e " Matrix: ${S} styles × ${L} layouts × ${T} targets = $((S*L*T)) prototypes"
390
- echo ""
391
- echo -e "${YELLOW}🌐 Next Steps:${NC}"
392
- echo -e " 1. Open compare.html for interactive matrix view"
393
- echo -e " 2. Open index.html for simple navigation"
394
- echo -e " 3. Read PREVIEW.md for detailed usage guide"
395
- echo ""