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,477 +1,314 @@
1
1
  ---
2
2
  name: tech-research
3
- description: 3-phase orchestrator: extract tech stack from session/name delegate to agent for Exa research and module generation → generate SKILL.md index (skips phase 2 if exists)
3
+ description: "3-phase orchestrator: extract tech stack → Exa research → generate path-conditional rules (auto-loaded by Claude Code)"
4
4
  argument-hint: "[session-id | tech-stack-name] [--regenerate] [--tool <gemini|qwen>]"
5
5
  allowed-tools: SlashCommand(*), TodoWrite(*), Bash(*), Read(*), Write(*), Task(*)
6
6
  ---
7
7
 
8
- # Tech Stack Research SKILL Generator
8
+ # Tech Stack Rules Generator
9
9
 
10
10
  ## Overview
11
11
 
12
- **Pure Orchestrator with Agent Delegation**: Prepares context paths and delegates ALL work to agent. Agent produces files directly.
12
+ **Purpose**: Generate multi-layered, path-conditional rules that Claude Code automatically loads based on file context.
13
13
 
14
- **Auto-Continue Workflow**: Runs fully autonomously once triggered. Each phase completes and automatically triggers the next phase.
14
+ **Key Difference from SKILL Memory**:
15
+ - **SKILL**: Manual loading via `Skill(command: "tech-name")`
16
+ - **Rules**: Automatic loading when working with matching file paths
15
17
 
16
- **Execution Paths**:
17
- - **Full Path**: All 3 phases (no existing SKILL OR `--regenerate` specified)
18
- - **Skip Path**: Phase 1 → Phase 3 (existing SKILL found AND no `--regenerate` flag)
19
- - **Phase 3 Always Executes**: SKILL index is always generated or updated
18
+ **Output Structure**:
19
+ ```
20
+ .claude/rules/tech/{tech-stack}/
21
+ ├── core.md # paths: **/*.{ext} - Core principles
22
+ ├── patterns.md # paths: src/**/*.{ext} - Implementation patterns
23
+ ├── testing.md # paths: **/*.{test,spec}.{ext} - Testing rules
24
+ ├── config.md # paths: *.config.* - Configuration rules
25
+ ├── api.md # paths: **/api/**/* - API rules (backend only)
26
+ ├── components.md # paths: **/components/**/* - Component rules (frontend only)
27
+ └── metadata.json # Generation metadata
28
+ ```
20
29
 
21
- **Agent Responsibility**:
22
- - Agent does ALL the work: context reading, Exa research, content synthesis, file writing
23
- - Orchestrator only provides context paths and waits for completion
30
+ **Templates Location**: `~/.claude/workflows/cli-templates/prompts/rules/`
31
+
32
+ ---
24
33
 
25
34
  ## Core Rules
26
35
 
27
- 1. **Start Immediately**: First action is TodoWrite initialization, second action is Phase 1 execution
28
- 2. **Context Path Delegation**: Pass session directory or tech stack name to agent, let agent do discovery
29
- 3. **Agent Produces Files**: Agent directly writes all module files, orchestrator does NOT parse agent output
30
- 4. **Auto-Continue**: After completing each phase, update TodoWrite and immediately execute next phase
31
- 5. **No User Prompts**: Never ask user questions or wait for input between phases
32
- 6. **Track Progress**: Update TodoWrite after EVERY phase completion before starting next phase
33
- 7. **Lightweight Index**: Phase 3 only generates SKILL.md index by reading existing files
36
+ 1. **Start Immediately**: First action is TodoWrite initialization
37
+ 2. **Path-Conditional Output**: Every rule file includes `paths` frontmatter
38
+ 3. **Template-Driven**: Agent reads templates before generating content
39
+ 4. **Agent Produces Files**: Agent writes all rule files directly
40
+ 5. **No Manual Loading**: Rules auto-activate when Claude works with matching files
34
41
 
35
42
  ---
36
43
 
37
44
  ## 3-Phase Execution
38
45
 
39
- ### Phase 1: Prepare Context Paths
46
+ ### Phase 1: Prepare Context & Detect Tech Stack
40
47
 
41
- **Goal**: Detect input mode, prepare context paths for agent, check existing SKILL
48
+ **Goal**: Detect input mode, extract tech stack info, determine file extensions
42
49
 
43
50
  **Input Mode Detection**:
44
51
  ```bash
45
- # Get input parameter
46
52
  input="$1"
47
53
 
48
- # Detect mode
49
54
  if [[ "$input" == WFS-* ]]; then
50
55
  MODE="session"
51
56
  SESSION_ID="$input"
52
- CONTEXT_PATH=".workflow/${SESSION_ID}"
57
+ # Read workflow-session.json to extract tech stack
53
58
  else
54
59
  MODE="direct"
55
60
  TECH_STACK_NAME="$input"
56
- CONTEXT_PATH="$input" # Pass tech stack name as context
57
61
  fi
58
62
  ```
59
63
 
60
- **Check Existing SKILL**:
61
- ```bash
62
- # For session mode, peek at session to get tech stack name
63
- if [[ "$MODE" == "session" ]]; then
64
- bash(test -f ".workflow/${SESSION_ID}/workflow-session.json")
65
- Read(.workflow/${SESSION_ID}/workflow-session.json)
66
- # Extract tech_stack_name (minimal extraction)
67
- fi
64
+ **Tech Stack Analysis**:
65
+ ```javascript
66
+ // Decompose composite tech stacks
67
+ // "typescript-react-nextjs" → ["typescript", "react", "nextjs"]
68
+
69
+ const TECH_EXTENSIONS = {
70
+ "typescript": "{ts,tsx}",
71
+ "javascript": "{js,jsx}",
72
+ "python": "py",
73
+ "rust": "rs",
74
+ "go": "go",
75
+ "java": "java",
76
+ "csharp": "cs",
77
+ "ruby": "rb",
78
+ "php": "php"
79
+ };
80
+
81
+ const FRAMEWORK_TYPE = {
82
+ "react": "frontend",
83
+ "vue": "frontend",
84
+ "angular": "frontend",
85
+ "nextjs": "fullstack",
86
+ "nuxt": "fullstack",
87
+ "fastapi": "backend",
88
+ "express": "backend",
89
+ "django": "backend",
90
+ "rails": "backend"
91
+ };
92
+ ```
68
93
 
69
- # Normalize and check
94
+ **Check Existing Rules**:
95
+ ```bash
70
96
  normalized_name=$(echo "$TECH_STACK_NAME" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
71
- bash(test -d ".claude/skills/${normalized_name}" && echo "exists" || echo "not_exists")
72
- bash(find ".claude/skills/${normalized_name}" -name "*.md" 2>/dev/null | wc -l || echo 0)
97
+ rules_dir=".claude/rules/tech/${normalized_name}"
98
+ existing_count=$(find "${rules_dir}" -name "*.md" 2>/dev/null | wc -l || echo 0)
73
99
  ```
74
100
 
75
101
  **Skip Decision**:
76
- ```javascript
77
- if (existing_files > 0 && !regenerate_flag) {
78
- SKIP_GENERATION = true
79
- message = "Tech stack SKILL already exists, skipping Phase 2. Use --regenerate to force regeneration."
80
- } else if (regenerate_flag) {
81
- bash(rm -rf ".claude/skills/${normalized_name}")
82
- SKIP_GENERATION = false
83
- message = "Regenerating tech stack SKILL from scratch."
84
- } else {
85
- SKIP_GENERATION = false
86
- message = "No existing SKILL found, generating new tech stack documentation."
87
- }
88
- ```
102
+ - If `existing_count > 0` AND no `--regenerate` → `SKIP_GENERATION = true`
103
+ - If `--regenerate` Delete existing and regenerate
89
104
 
90
105
  **Output Variables**:
91
- - `MODE`: `session` or `direct`
92
- - `SESSION_ID`: Session ID (if session mode)
93
- - `CONTEXT_PATH`: Path to session directory OR tech stack name
94
- - `TECH_STACK_NAME`: Extracted or provided tech stack name
95
- - `SKIP_GENERATION`: Boolean - whether to skip Phase 2
106
+ - `TECH_STACK_NAME`: Normalized name
107
+ - `PRIMARY_LANG`: Primary language
108
+ - `FILE_EXT`: File extension pattern
109
+ - `FRAMEWORK_TYPE`: frontend | backend | fullstack | library
110
+ - `COMPONENTS`: Array of tech components
111
+ - `SKIP_GENERATION`: Boolean
96
112
 
97
- **TodoWrite**:
98
- - If skipping: Mark phase 1 completed, phase 2 completed, phase 3 in_progress
99
- - If not skipping: Mark phase 1 completed, phase 2 in_progress
113
+ **TodoWrite**: Mark phase 1 completed
100
114
 
101
115
  ---
102
116
 
103
- ### Phase 2: Agent Produces All Files
117
+ ### Phase 2: Agent Produces Path-Conditional Rules
104
118
 
105
119
  **Skip Condition**: Skipped if `SKIP_GENERATION = true`
106
120
 
107
- **Goal**: Delegate EVERYTHING to agent - context reading, Exa research, content synthesis, and file writing
108
-
109
- **Agent Task Specification**:
121
+ **Goal**: Delegate to agent for Exa research and rule file generation
110
122
 
123
+ **Template Files**:
124
+ ```
125
+ ~/.claude/workflows/cli-templates/prompts/rules/
126
+ ├── tech-rules-agent-prompt.txt # Agent instructions
127
+ ├── rule-core.txt # Core principles template
128
+ ├── rule-patterns.txt # Implementation patterns template
129
+ ├── rule-testing.txt # Testing rules template
130
+ ├── rule-config.txt # Configuration rules template
131
+ ├── rule-api.txt # API rules template (backend)
132
+ └── rule-components.txt # Component rules template (frontend)
111
133
  ```
112
- Task(
113
- subagent_type: "general-purpose",
114
- description: "Generate tech stack SKILL: {CONTEXT_PATH}",
115
- prompt: "
116
- Generate a complete tech stack SKILL package with Exa research.
117
-
118
- **Context Provided**:
119
- - Mode: {MODE}
120
- - Context Path: {CONTEXT_PATH}
121
-
122
- **Templates Available**:
123
- - Module Format: ~/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt
124
- - SKILL Index: ~/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt
125
-
126
- **Your Responsibilities**:
127
-
128
- 1. **Extract Tech Stack Information**:
129
-
130
- IF MODE == 'session':
131
- - Read `.workflow/active/{session_id}/workflow-session.json`
132
- - Read `.workflow/active/{session_id}/.process/context-package.json`
133
- - Extract tech_stack: {language, frameworks, libraries}
134
- - Build tech stack name: \"{language}-{framework1}-{framework2}\"
135
- - Example: \"typescript-react-nextjs\"
136
-
137
- IF MODE == 'direct':
138
- - Tech stack name = CONTEXT_PATH
139
- - Parse composite: split by '-' delimiter
140
- - Example: \"typescript-react-nextjs\" → [\"typescript\", \"react\", \"nextjs\"]
141
-
142
- 2. **Execute Exa Research** (4-6 parallel queries):
143
-
144
- Base Queries (always execute):
145
- - mcp__exa__get_code_context_exa(query: \"{tech} core principles best practices 2025\", tokensNum: 8000)
146
- - mcp__exa__get_code_context_exa(query: \"{tech} common patterns architecture examples\", tokensNum: 7000)
147
- - mcp__exa__web_search_exa(query: \"{tech} configuration setup tooling 2025\", numResults: 5)
148
- - mcp__exa__get_code_context_exa(query: \"{tech} testing strategies\", tokensNum: 5000)
149
-
150
- Component Queries (if composite):
151
- - For each additional component:
152
- mcp__exa__get_code_context_exa(query: \"{main_tech} {component} integration\", tokensNum: 5000)
153
-
154
- 3. **Read Module Format Template**:
155
-
156
- Read template for structure guidance:
157
- ```bash
158
- Read(~/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt)
159
- ```
160
-
161
- 4. **Synthesize Content into 6 Modules**:
162
-
163
- Follow template structure from tech-module-format.txt:
164
- - **principles.md** - Core concepts, philosophies (~3K tokens)
165
- - **patterns.md** - Implementation patterns with code examples (~5K tokens)
166
- - **practices.md** - Best practices, anti-patterns, pitfalls (~4K tokens)
167
- - **testing.md** - Testing strategies, frameworks (~3K tokens)
168
- - **config.md** - Setup, configuration, tooling (~3K tokens)
169
- - **frameworks.md** - Framework integration (only if composite, ~4K tokens)
170
-
171
- Each module follows template format:
172
- - Frontmatter (YAML)
173
- - Main sections with clear headings
174
- - Code examples from Exa research
175
- - Best practices sections
176
- - References to Exa sources
177
-
178
- 5. **Write Files Directly**:
179
134
 
180
- ```javascript
181
- // Create directory
182
- bash(mkdir -p \".claude/skills/{tech_stack_name}\")
183
-
184
- // Write each module file using Write tool
185
- Write({ file_path: \".claude/skills/{tech_stack_name}/principles.md\", content: ... })
186
- Write({ file_path: \".claude/skills/{tech_stack_name}/patterns.md\", content: ... })
187
- Write({ file_path: \".claude/skills/{tech_stack_name}/practices.md\", content: ... })
188
- Write({ file_path: \".claude/skills/{tech_stack_name}/testing.md\", content: ... })
189
- Write({ file_path: \".claude/skills/{tech_stack_name}/config.md\", content: ... })
190
- // Write frameworks.md only if composite
191
-
192
- // Write metadata.json
193
- Write({
194
- file_path: \".claude/skills/{tech_stack_name}/metadata.json\",
195
- content: JSON.stringify({
196
- tech_stack_name,
197
- components,
198
- is_composite,
199
- generated_at: timestamp,
200
- source: \"exa-research\",
201
- research_summary: { total_queries, total_sources }
202
- })
203
- })
204
- ```
135
+ **Agent Task**:
205
136
 
206
- 6. **Report Completion**:
207
-
208
- Provide summary:
209
- - Tech stack name
210
- - Files created (count)
211
- - Exa queries executed
212
- - Sources consulted
213
-
214
- **CRITICAL**:
215
- - MUST read external template files before generating content (step 3 for modules, step 4 for index)
216
- - You have FULL autonomy - read files, execute Exa, synthesize content, write files
217
- - Do NOT return JSON or structured data - produce actual .md files
218
- - Handle errors gracefully (Exa failures, missing files, template read failures)
219
- - If tech stack cannot be determined, ask orchestrator to clarify
220
- "
221
- )
137
+ ```javascript
138
+ Task({
139
+ subagent_type: "general-purpose",
140
+ description: `Generate tech stack rules: ${TECH_STACK_NAME}`,
141
+ prompt: `
142
+ You are generating path-conditional rules for Claude Code.
143
+
144
+ ## Context
145
+ - Tech Stack: ${TECH_STACK_NAME}
146
+ - Primary Language: ${PRIMARY_LANG}
147
+ - File Extensions: ${FILE_EXT}
148
+ - Framework Type: ${FRAMEWORK_TYPE}
149
+ - Components: ${JSON.stringify(COMPONENTS)}
150
+ - Output Directory: .claude/rules/tech/${TECH_STACK_NAME}/
151
+
152
+ ## Instructions
153
+
154
+ Read the agent prompt template for detailed instructions:
155
+ $(cat ~/.claude/workflows/cli-templates/prompts/rules/tech-rules-agent-prompt.txt)
156
+
157
+ ## Execution Steps
158
+
159
+ 1. Execute Exa research queries (see agent prompt)
160
+ 2. Read each rule template
161
+ 3. Generate rule files following template structure
162
+ 4. Write files to output directory
163
+ 5. Write metadata.json
164
+ 6. Report completion
165
+
166
+ ## Variable Substitutions
167
+
168
+ Replace in templates:
169
+ - {TECH_STACK_NAME} → ${TECH_STACK_NAME}
170
+ - {PRIMARY_LANG} → ${PRIMARY_LANG}
171
+ - {FILE_EXT} → ${FILE_EXT}
172
+ - {FRAMEWORK_TYPE} → ${FRAMEWORK_TYPE}
173
+ `
174
+ })
222
175
  ```
223
176
 
224
177
  **Completion Criteria**:
225
- - Agent task executed successfully
226
- - 5-6 modular files written to `.claude/skills/{tech_stack_name}/`
178
+ - 4-6 rule files written with proper `paths` frontmatter
227
179
  - metadata.json written
228
- - Agent reports completion
180
+ - Agent reports files created
229
181
 
230
- **TodoWrite**: Mark phase 2 completed, phase 3 in_progress
182
+ **TodoWrite**: Mark phase 2 completed
231
183
 
232
184
  ---
233
185
 
234
- ### Phase 3: Generate SKILL.md Index
186
+ ### Phase 3: Verify & Report
235
187
 
236
- **Note**: This phase **ALWAYS executes** - generates or updates the SKILL index.
237
-
238
- **Goal**: Read generated module files and create SKILL.md index with loading recommendations
188
+ **Goal**: Verify generated files and provide usage summary
239
189
 
240
190
  **Steps**:
241
191
 
242
- 1. **Verify Generated Files**:
192
+ 1. **Verify Files**:
243
193
  ```bash
244
- bash(find ".claude/skills/${TECH_STACK_NAME}" -name "*.md" -type f | sort)
194
+ find ".claude/rules/tech/${TECH_STACK_NAME}" -name "*.md" -type f
245
195
  ```
246
196
 
247
- 2. **Read metadata.json**:
248
- ```javascript
249
- Read(.claude/skills/${TECH_STACK_NAME}/metadata.json)
250
- // Extract: tech_stack_name, components, is_composite, research_summary
197
+ 2. **Validate Frontmatter**:
198
+ ```bash
199
+ head -5 ".claude/rules/tech/${TECH_STACK_NAME}/core.md"
251
200
  ```
252
201
 
253
- 3. **Read Module Headers** (optional, first 20 lines):
202
+ 3. **Read Metadata**:
254
203
  ```javascript
255
- Read(.claude/skills/${TECH_STACK_NAME}/principles.md, limit: 20)
256
- // Repeat for other modules
204
+ Read(`.claude/rules/tech/${TECH_STACK_NAME}/metadata.json`)
257
205
  ```
258
206
 
259
- 4. **Read SKILL Index Template**:
260
-
261
- ```javascript
262
- Read(~/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt)
207
+ 4. **Generate Summary Report**:
263
208
  ```
264
-
265
- 5. **Generate SKILL.md Index**:
266
-
267
- Follow template from tech-skill-index.txt with variable substitutions:
268
- - `{TECH_STACK_NAME}`: From metadata.json
269
- - `{MAIN_TECH}`: Primary technology
270
- - `{ISO_TIMESTAMP}`: Current timestamp
271
- - `{QUERY_COUNT}`: From research_summary
272
- - `{SOURCE_COUNT}`: From research_summary
273
- - Conditional sections for composite tech stacks
274
-
275
- Template provides structure for:
276
- - Frontmatter with metadata
277
- - Overview and tech stack description
278
- - Module organization (Core/Practical/Config sections)
279
- - Loading recommendations (Quick/Implementation/Complete)
280
- - Usage guidelines and auto-trigger keywords
281
- - Research metadata and version history
282
-
283
- 6. **Write SKILL.md**:
284
- ```javascript
285
- Write({
286
- file_path: `.claude/skills/${TECH_STACK_NAME}/SKILL.md`,
287
- content: generatedIndexMarkdown
288
- })
209
+ Tech Stack Rules Generated
210
+
211
+ Tech Stack: {TECH_STACK_NAME}
212
+ Location: .claude/rules/tech/{TECH_STACK_NAME}/
213
+
214
+ Files Created:
215
+ ├── core.md → paths: **/*.{ext}
216
+ ├── patterns.md → paths: src/**/*.{ext}
217
+ ├── testing.md → paths: **/*.{test,spec}.{ext}
218
+ ├── config.md → paths: *.config.*
219
+ ├── api.md → paths: **/api/**/* (if backend)
220
+ └── components.md → paths: **/components/**/* (if frontend)
221
+
222
+ Auto-Loading:
223
+ - Rules apply automatically when editing matching files
224
+ - No manual loading required
225
+
226
+ Example Activation:
227
+ - Edit src/components/Button.tsx → core.md + patterns.md + components.md
228
+ - Edit tests/api.test.ts core.md + testing.md
229
+ - Edit package.json → config.md
289
230
  ```
290
231
 
291
- **Completion Criteria**:
292
- - SKILL.md index written
293
- - All module files verified
294
- - Loading recommendations included
295
-
296
232
  **TodoWrite**: Mark phase 3 completed
297
233
 
298
- **Final Report**:
299
- ```
300
- Tech Stack SKILL Package Complete
301
-
302
- Tech Stack: {TECH_STACK_NAME}
303
- Location: .claude/skills/{TECH_STACK_NAME}/
304
-
305
- Files: SKILL.md + 5-6 modules + metadata.json
306
- Exa Research: {queries} queries, {sources} sources
307
-
308
- Usage: Skill(command: "{TECH_STACK_NAME}")
309
- ```
310
-
311
234
  ---
312
235
 
313
- ## Implementation Details
236
+ ## Path Pattern Reference
314
237
 
315
- ### TodoWrite Patterns
238
+ | Pattern | Matches |
239
+ |---------|---------|
240
+ | `**/*.ts` | All .ts files |
241
+ | `src/**/*` | All files under src/ |
242
+ | `*.config.*` | Config files in root |
243
+ | `**/*.{ts,tsx}` | .ts and .tsx files |
316
244
 
317
- **Initialization** (Before Phase 1):
318
- ```javascript
319
- TodoWrite({todos: [
320
- {"content": "Prepare context paths", "status": "in_progress", "activeForm": "Preparing context paths"},
321
- {"content": "Agent produces all module files", "status": "pending", "activeForm": "Agent producing files"},
322
- {"content": "Generate SKILL.md index", "status": "pending", "activeForm": "Generating SKILL index"}
323
- ]})
324
- ```
325
-
326
- **Full Path** (SKIP_GENERATION = false):
327
- ```javascript
328
- // After Phase 1
329
- TodoWrite({todos: [
330
- {"content": "Prepare context paths", "status": "completed", ...},
331
- {"content": "Agent produces all module files", "status": "in_progress", ...},
332
- {"content": "Generate SKILL.md index", "status": "pending", ...}
333
- ]})
334
-
335
- // After Phase 2
336
- TodoWrite({todos: [
337
- {"content": "Prepare context paths", "status": "completed", ...},
338
- {"content": "Agent produces all module files", "status": "completed", ...},
339
- {"content": "Generate SKILL.md index", "status": "in_progress", ...}
340
- ]})
341
-
342
- // After Phase 3
343
- TodoWrite({todos: [
344
- {"content": "Prepare context paths", "status": "completed", ...},
345
- {"content": "Agent produces all module files", "status": "completed", ...},
346
- {"content": "Generate SKILL.md index", "status": "completed", ...}
347
- ]})
348
- ```
349
-
350
- **Skip Path** (SKIP_GENERATION = true):
351
- ```javascript
352
- // After Phase 1 (skip Phase 2)
353
- TodoWrite({todos: [
354
- {"content": "Prepare context paths", "status": "completed", ...},
355
- {"content": "Agent produces all module files", "status": "completed", ...}, // Skipped
356
- {"content": "Generate SKILL.md index", "status": "in_progress", ...}
357
- ]})
358
- ```
359
-
360
- ### Execution Flow
361
-
362
- **Full Path**:
363
- ```
364
- User → TodoWrite Init → Phase 1 (prepare) → Phase 2 (agent writes files) → Phase 3 (write index) → Report
365
- ```
366
-
367
- **Skip Path**:
368
- ```
369
- User → TodoWrite Init → Phase 1 (detect existing) → Phase 3 (update index) → Report
370
- ```
371
-
372
- ### Error Handling
373
-
374
- **Phase 1 Errors**:
375
- - Invalid session ID: Report error, verify session exists
376
- - Missing context-package: Warn, fall back to direct mode
377
- - No tech stack detected: Ask user to specify tech stack name
378
-
379
- **Phase 2 Errors (Agent)**:
380
- - Agent task fails: Retry once, report if fails again
381
- - Exa API failures: Agent handles internally with retries
382
- - Incomplete results: Warn user, proceed with partial data if minimum sections available
383
-
384
- **Phase 3 Errors**:
385
- - Write failures: Report which files failed
386
- - Missing files: Note in SKILL.md, suggest regeneration
245
+ | Tech Stack | Core Pattern | Test Pattern |
246
+ |------------|--------------|--------------|
247
+ | TypeScript | `**/*.{ts,tsx}` | `**/*.{test,spec}.{ts,tsx}` |
248
+ | Python | `**/*.py` | `**/test_*.py, **/*_test.py` |
249
+ | Rust | `**/*.rs` | `**/tests/**/*.rs` |
250
+ | Go | `**/*.go` | `**/*_test.go` |
387
251
 
388
252
  ---
389
253
 
390
254
  ## Parameters
391
255
 
392
256
  ```bash
393
- /memory:tech-research [session-id | "tech-stack-name"] [--regenerate] [--tool <gemini|qwen>]
257
+ /memory:tech-research [session-id | "tech-stack-name"] [--regenerate]
394
258
  ```
395
259
 
396
260
  **Arguments**:
397
- - **session-id | tech-stack-name**: Input source (auto-detected by WFS- prefix)
398
- - Session mode: `WFS-user-auth-v2` - Extract tech stack from workflow
399
- - Direct mode: `"typescript"`, `"typescript-react-nextjs"` - User specifies
400
- - **--regenerate**: Force regenerate existing SKILL (deletes and recreates)
401
- - **--tool**: Reserved for future CLI integration (default: gemini)
261
+ - **session-id**: `WFS-*` format - Extract from workflow session
262
+ - **tech-stack-name**: Direct input - `"typescript"`, `"typescript-react"`
263
+ - **--regenerate**: Force regenerate existing rules
402
264
 
403
265
  ---
404
266
 
405
267
  ## Examples
406
268
 
407
- **Generated File Structure** (for all examples):
408
- ```
409
- .claude/skills/{tech-stack}/
410
- ├── SKILL.md # Index (Phase 3)
411
- ├── principles.md # Agent (Phase 2)
412
- ├── patterns.md # Agent
413
- ├── practices.md # Agent
414
- ├── testing.md # Agent
415
- ├── config.md # Agent
416
- ├── frameworks.md # Agent (if composite)
417
- └── metadata.json # Agent
418
- ```
419
-
420
- ### Direct Mode - Single Stack
269
+ ### Single Language
421
270
 
422
271
  ```bash
423
272
  /memory:tech-research "typescript"
424
273
  ```
425
274
 
426
- **Workflow**:
427
- 1. Phase 1: Detects direct mode, checks existing SKILL
428
- 2. Phase 2: Agent executes 4 Exa queries, writes 5 modules
429
- 3. Phase 3: Generates SKILL.md index
275
+ **Output**: `.claude/rules/tech/typescript/` with 4 rule files
430
276
 
431
- ### Direct Mode - Composite Stack
277
+ ### Frontend Stack
432
278
 
433
279
  ```bash
434
- /memory:tech-research "typescript-react-nextjs"
280
+ /memory:tech-research "typescript-react"
435
281
  ```
436
282
 
437
- **Workflow**:
438
- 1. Phase 1: Decomposes into ["typescript", "react", "nextjs"]
439
- 2. Phase 2: Agent executes 6 Exa queries (4 base + 2 components), writes 6 modules (adds frameworks.md)
440
- 3. Phase 3: Generates SKILL.md index with framework integration
283
+ **Output**: `.claude/rules/tech/typescript-react/` with 5 rule files (includes components.md)
441
284
 
442
- ### Session Mode - Extract from Workflow
285
+ ### Backend Stack
443
286
 
444
287
  ```bash
445
- /memory:tech-research WFS-user-auth-20251104
288
+ /memory:tech-research "python-fastapi"
446
289
  ```
447
290
 
448
- **Workflow**:
449
- 1. Phase 1: Reads session, extracts tech stack: `python-fastapi-sqlalchemy`
450
- 2. Phase 2: Agent researches Python + FastAPI + SQLAlchemy, writes 6 modules
451
- 3. Phase 3: Generates SKILL.md index
291
+ **Output**: `.claude/rules/tech/python-fastapi/` with 5 rule files (includes api.md)
452
292
 
453
- ### Regenerate Existing
293
+ ### From Session
454
294
 
455
295
  ```bash
456
- /memory:tech-research "react" --regenerate
296
+ /memory:tech-research WFS-user-auth-20251104
457
297
  ```
458
298
 
459
- **Workflow**:
460
- 1. Phase 1: Deletes existing SKILL due to --regenerate
461
- 2. Phase 2: Agent executes fresh Exa research (latest 2025 practices)
462
- 3. Phase 3: Generates updated SKILL.md
463
-
464
- ### Skip Path - Fast Update
299
+ **Workflow**: Extract tech stack from session → Generate rules
465
300
 
466
- ```bash
467
- /memory:tech-research "python"
468
- ```
469
-
470
- **Scenario**: SKILL already exists with 7 files
301
+ ---
471
302
 
472
- **Workflow**:
473
- 1. Phase 1: Detects existing SKILL, sets SKIP_GENERATION = true
474
- 2. Phase 2: **SKIPPED**
475
- 3. Phase 3: Updates SKILL.md index only (5-10x faster)
303
+ ## Comparison: Rules vs SKILL
476
304
 
305
+ | Aspect | SKILL Memory | Rules |
306
+ |--------|--------------|-------|
307
+ | Loading | Manual: `Skill("tech")` | Automatic by path |
308
+ | Scope | All files when loaded | Only matching files |
309
+ | Granularity | Monolithic packages | Per-file-type |
310
+ | Context | Full package | Only relevant rules |
477
311
 
312
+ **When to Use**:
313
+ - **Rules**: Tech stack conventions per file type
314
+ - **SKILL**: Reference docs, APIs, examples for manual lookup