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
package/.codex/AGENTS.md CHANGED
@@ -1,330 +1,63 @@
1
- # Codex Agent Execution Protocol
2
-
3
- ## Overview
4
-
5
- **Role**: Autonomous development, implementation, and testing specialist
6
-
7
- ## Prompt Structure
8
-
9
- All prompts follow this 6-field format:
10
-
11
- ```
12
- PURPOSE: [development goal]
13
- TASK: [specific implementation task]
14
- MODE: [auto|write]
15
- CONTEXT: [file patterns]
16
- EXPECTED: [deliverables]
17
- RULES: [templates | additional constraints]
18
- ```
19
-
20
- **Subtask indicator**: `Subtask N of M: [title]` or `CONTINUE TO NEXT SUBTASK`
21
-
22
- ## MODE Definitions
23
-
24
- ### MODE: auto (default)
25
-
26
- **Permissions**:
27
- - Full file operations (create/modify/delete)
28
- - Run tests and builds
29
- - Commit code incrementally
30
-
31
- **Execute**:
32
- 1. Parse PURPOSE and TASK
33
- 2. Analyze CONTEXT files - find 3+ similar patterns
34
- 3. Plan implementation following RULES
35
- 4. Generate code with tests
36
- 5. Run tests continuously
37
- 6. Commit working code incrementally
38
- 7. Validate EXPECTED deliverables
39
- 8. Report results (with context for next subtask if multi-task)
40
-
41
- **Constraint**: Must test every change
42
-
43
- ### MODE: write
44
-
45
- **Permissions**:
46
- - Focused file operations
47
- - Create/modify specific files
48
- - Run tests for validation
49
-
50
- **Execute**:
51
- 1. Analyze CONTEXT files
52
- 2. Make targeted changes
53
- 3. Validate tests pass
54
- 4. Report file changes
55
-
56
- ## Execution Protocol
57
-
58
- ### Core Requirements
59
-
60
- **ALWAYS**:
61
- - Parse all 6 fields (PURPOSE, TASK, MODE, CONTEXT, EXPECTED, RULES)
62
- - Study CONTEXT files - find 3+ similar patterns before implementing
63
- - Apply RULES (templates + constraints) exactly
64
- - Test continuously after every change
65
- - Commit incrementally with working code
66
- - Match project style and patterns exactly
67
- - List all created/modified files at output beginning
68
- - Use direct binary calls (avoid shell wrappers)
69
- - Prefer apply_patch for text edits
70
- - Configure Windows UTF-8 encoding for Chinese support
71
-
72
- **NEVER**:
73
- - Make assumptions without code verification
74
- - Ignore existing patterns
75
- - Skip tests
76
- - Use clever tricks over boring solutions
77
- - Over-engineer solutions
78
- - Break existing code or backward compatibility
79
- - Exceed 3 failed attempts without stopping
80
-
81
- ### RULES Processing
82
-
83
- - Parse RULES field to extract template content and constraints
84
- - Recognize `|` as separator: `template content | additional constraints`
85
- - Apply ALL template guidelines as mandatory
86
- - Apply ALL additional constraints as mandatory
87
- - Treat rule violations as task failures
88
-
89
- ### Multi-Task Execution (Resume Pattern)
90
-
91
- **First subtask**: Standard execution flow above
92
- **Subsequent subtasks** (via `resume --last`):
93
- - Recall context from previous subtasks
94
- - Build on previous work (don't repeat)
95
- - Maintain consistency with established patterns
96
- - Focus on current subtask scope only
97
- - Test integration with previous work
98
- - Report context for next subtask
99
-
100
- ## System Optimization
101
-
102
- **Direct Binary Calls**: Always call binaries directly in `functions.shell`, set `workdir`, avoid shell wrappers (`bash -lc`, `cmd /c`, etc.)
103
-
104
- **Text Editing Priority**:
105
- 1. Use `apply_patch` tool for all routine text edits
106
- 2. Fall back to `sed` for single-line substitutions if unavailable
107
- 3. Avoid Python editing scripts unless both fail
108
-
109
- **apply_patch invocation**:
110
- ```json
111
- {
112
- "command": ["apply_patch", "*** Begin Patch\n*** Update File: path/to/file\n@@\n- old\n+ new\n*** End Patch\n"],
113
- "workdir": "<workdir>",
114
- "justification": "Brief reason"
115
- }
116
- ```
117
-
118
- **Windows UTF-8 Encoding** (before commands):
119
- ```powershell
120
- [Console]::InputEncoding = [Text.UTF8Encoding]::new($false)
121
- [Console]::OutputEncoding = [Text.UTF8Encoding]::new($false)
122
- chcp 65001 > $null
123
- ```
124
-
125
- ## Output Standards
126
-
127
- ### Format Priority
128
-
129
- **If template defines output format** → Follow template format EXACTLY (all sections mandatory)
130
-
131
- **If template has no format** → Use default format below based on task type
132
-
133
- ### Default Output Formats
134
-
135
- #### Single Task Implementation
136
-
137
- ```markdown
138
- # Implementation: [TASK Title]
139
-
140
- ## Changes
141
- - Created: `path/to/file1.ext` (X lines)
142
- - Modified: `path/to/file2.ext` (+Y/-Z lines)
143
- - Deleted: `path/to/file3.ext`
144
-
145
- ## Summary
146
- [2-3 sentence overview of what was implemented]
147
-
148
- ## Key Decisions
149
- 1. [Decision] - Rationale and reference to similar pattern
150
- 2. [Decision] - path/to/reference:line
151
-
152
- ## Implementation Details
153
- [Evidence-based description with code references]
154
-
155
- ## Testing
156
- - Tests written: X new tests
157
- - Tests passing: Y/Z tests
158
- - Coverage: N%
159
-
160
- ## Validation
161
- ✅ Tests: X passing
162
- ✅ Coverage: Y%
163
- ✅ Build: Success
164
-
165
- ## Next Steps
166
- [Recommendations or future improvements]
167
- ```
168
-
169
- #### Multi-Task Execution (with Resume)
170
-
171
- **First Subtask**:
172
- ```markdown
173
- # Subtask 1/N: [TASK Title]
174
-
175
- ## Changes
176
- [List of file changes]
177
-
178
- ## Implementation
179
- [Details with code references]
180
-
181
- ## Testing
182
- ✅ Tests: X passing
183
- ✅ Integration: Compatible with existing code
184
-
185
- ## Context for Next Subtask
186
- - Key decisions: [established patterns]
187
- - Files created: [paths and purposes]
188
- - Integration points: [where next subtask should connect]
189
- ```
190
-
191
- **Subsequent Subtasks**:
192
- ```markdown
193
- # Subtask N/M: [TASK Title]
194
-
195
- ## Changes
196
- [List of file changes]
197
-
198
- ## Integration Notes
199
- ✅ Compatible with subtask N-1
200
- ✅ Maintains established patterns
201
- ✅ Tests pass with previous work
202
-
203
- ## Implementation
204
- [Details with code references]
205
-
206
- ## Testing
207
- ✅ Tests: X passing
208
- ✅ Total coverage: Y%
209
-
210
- ## Context for Next Subtask
211
- [If not final subtask, provide context for continuation]
212
- ```
213
-
214
- #### Partial Completion
215
-
216
- ```markdown
217
- # Task Status: Partially Completed
218
-
219
- ## Completed
220
- - [What worked successfully]
221
- - Files: `path/to/completed.ext`
222
-
223
- ## Blocked
224
- - **Issue**: [What failed]
225
- - **Root Cause**: [Analysis of failure]
226
- - **Attempted**: [Solutions tried - attempt X of 3]
227
-
228
- ## Required
229
- [What's needed to proceed]
230
-
231
- ## Recommendation
232
- [Suggested next steps or alternative approaches]
233
- ```
234
-
235
- ### Code References
236
-
237
- **Format**: `path/to/file:line_number`
238
-
239
- **Example**: `src/auth/jwt.ts:45` - Implemented token validation following pattern from `src/auth/session.ts:78`
240
-
241
- ### Related Files Section
242
-
243
- **Always include at output beginning** - List ALL files analyzed, created, or modified:
244
-
245
- ```markdown
246
- ## Related Files
247
- - `path/to/file1.ext` - [Role in implementation]
248
- - `path/to/file2.ext` - [Reference pattern used]
249
- - `path/to/file3.ext` - [Modified for X reason]
250
- ```
251
-
252
- ## Error Handling
253
-
254
- ### Three-Attempt Rule
255
-
256
- **On 3rd failed attempt**:
257
- 1. Stop execution
258
- 2. Report: What attempted, what failed, root cause
259
- 3. Request guidance or suggest alternatives
260
-
261
- ### Recovery Strategies
262
-
263
- | Error Type | Response |
264
- |------------|----------|
265
- | **Syntax/Type** | Review errors → Fix → Re-run tests → Validate build |
266
- | **Runtime** | Analyze stack trace → Add error handling → Test error cases |
267
- | **Test Failure** | Debug in isolation → Review setup → Fix implementation/test |
268
- | **Build Failure** | Check messages → Fix incrementally → Validate each fix |
269
-
270
- ## Quality Standards
271
-
272
- ### Code Quality
273
- - Follow project's existing patterns
274
- - Match import style and naming conventions
275
- - Single responsibility per function/class
276
- - DRY (Don't Repeat Yourself)
277
- - YAGNI (You Aren't Gonna Need It)
278
-
279
- ### Testing
280
- - Test all public functions
281
- - Test edge cases and error conditions
282
- - Mock external dependencies
283
- - Target 80%+ coverage
284
-
285
- ### Error Handling
286
- - Proper try-catch blocks
287
- - Clear error messages
288
- - Graceful degradation
289
- - Don't expose sensitive info
290
-
291
- ## Core Principles
292
-
293
- **Incremental Progress**:
294
- - Small, testable changes
295
- - Commit working code frequently
296
- - Build on previous work (subtasks)
297
-
298
- **Evidence-Based**:
299
- - Study 3+ similar patterns before implementing
300
- - Match project style exactly
301
- - Verify with existing code
302
-
303
- **Pragmatic**:
304
- - Boring solutions over clever code
305
- - Simple over complex
306
- - Adapt to project reality
307
-
308
- **Context Continuity** (Multi-Task):
309
- - Leverage resume for consistency
310
- - Maintain established patterns
311
- - Test integration between subtasks
312
-
313
- ## Execution Checklist
314
-
315
- **Before**:
316
- - [ ] Understand PURPOSE and TASK clearly
317
- - [ ] Review CONTEXT files, find 3+ patterns
318
- - [ ] Check RULES templates and constraints
319
-
320
- **During**:
321
- - [ ] Follow existing patterns exactly
322
- - [ ] Write tests alongside code
323
- - [ ] Run tests after every change
324
- - [ ] Commit working code incrementally
325
-
326
- **After**:
327
- - [ ] All tests pass
328
- - [ ] Coverage meets target
329
- - [ ] Build succeeds
330
- - [ ] All EXPECTED deliverables met
1
+ # Codex Code Guidelines
2
+
3
+ ## Code Quality Standards
4
+
5
+ ### Code Quality
6
+ - Follow project's existing patterns
7
+ - Match import style and naming conventions
8
+ - Single responsibility per function/class
9
+ - DRY (Don't Repeat Yourself)
10
+ - YAGNI (You Aren't Gonna Need It)
11
+
12
+ ### Testing
13
+ - Test all public functions
14
+ - Test edge cases and error conditions
15
+ - Mock external dependencies
16
+ - Target 80%+ coverage
17
+
18
+ ### Error Handling
19
+ - Proper try-catch blocks
20
+ - Clear error messages
21
+ - Graceful degradation
22
+ - Don't expose sensitive info
23
+
24
+ ## Core Principles
25
+
26
+ **Incremental Progress**:
27
+ - Small, testable changes
28
+ - Commit working code frequently
29
+ - Build on previous work (subtasks)
30
+
31
+ **Evidence-Based**:
32
+ - Study 3+ similar patterns before implementing
33
+ - Match project style exactly
34
+ - Verify with existing code
35
+
36
+ **Pragmatic**:
37
+ - Boring solutions over clever code
38
+ - Simple over complex
39
+ - Adapt to project reality
40
+
41
+ **Context Continuity** (Multi-Task):
42
+ - Leverage resume for consistency
43
+ - Maintain established patterns
44
+ - Test integration between subtasks
45
+
46
+ ## Execution Checklist
47
+
48
+ **Before**:
49
+ - [ ] Understand PURPOSE and TASK clearly
50
+ - [ ] Review CONTEXT files, find 3+ patterns
51
+ - [ ] Check RULES templates and constraints
52
+
53
+ **During**:
54
+ - [ ] Follow existing patterns exactly
55
+ - [ ] Write tests alongside code
56
+ - [ ] Run tests after every change
57
+ - [ ] Commit working code incrementally
58
+
59
+ **After**:
60
+ - [ ] All tests pass
61
+ - [ ] Coverage meets target
62
+ - [ ] Build succeeds
63
+ - [ ] All EXPECTED deliverables met
@@ -0,0 +1,318 @@
1
+ ---
2
+ description: Interactive hypothesis-driven debugging with NDJSON logging, iterative until resolved
3
+ argument-hint: BUG="<bug description or error message>"
4
+ ---
5
+
6
+ # Workflow Debug Command
7
+
8
+ ## Overview
9
+
10
+ Evidence-based interactive debugging command. Systematically identifies root causes through hypothesis-driven logging and iterative verification.
11
+
12
+ **Core workflow**: Explore → Add Logging → Reproduce → Analyze Log → Fix → Verify
13
+
14
+ ## Bug Description
15
+
16
+ **Target bug**: $BUG
17
+
18
+ ## Execution Process
19
+
20
+ ```
21
+ Session Detection:
22
+ ├─ Check if debug session exists for this bug
23
+ ├─ EXISTS + debug.log has content → Analyze mode
24
+ └─ NOT_FOUND or empty log → Explore mode
25
+
26
+ Explore Mode:
27
+ ├─ Locate error source in codebase
28
+ ├─ Generate testable hypotheses (dynamic count)
29
+ ├─ Add NDJSON logging instrumentation
30
+ └─ Output: Hypothesis list + await user reproduction
31
+
32
+ Analyze Mode:
33
+ ├─ Parse debug.log, validate each hypothesis
34
+ └─ Decision:
35
+ ├─ Confirmed → Fix root cause
36
+ ├─ Inconclusive → Add more logging, iterate
37
+ └─ All rejected → Generate new hypotheses
38
+
39
+ Fix & Cleanup:
40
+ ├─ Apply fix based on confirmed hypothesis
41
+ ├─ User verifies
42
+ ├─ Remove debug instrumentation
43
+ └─ If not fixed → Return to Analyze mode
44
+ ```
45
+
46
+ ## Implementation
47
+
48
+ ### Session Setup & Mode Detection
49
+
50
+ ```javascript
51
+ const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
52
+
53
+ const bugSlug = "$BUG".toLowerCase().replace(/[^a-z0-9]+/g, '-').substring(0, 30)
54
+ const dateStr = getUtc8ISOString().substring(0, 10)
55
+
56
+ const sessionId = `DBG-${bugSlug}-${dateStr}`
57
+ const sessionFolder = `.workflow/.debug/${sessionId}`
58
+ const debugLogPath = `${sessionFolder}/debug.log`
59
+
60
+ // Auto-detect mode
61
+ const sessionExists = fs.existsSync(sessionFolder)
62
+ const logHasContent = sessionExists && fs.existsSync(debugLogPath) && fs.statSync(debugLogPath).size > 0
63
+
64
+ const mode = logHasContent ? 'analyze' : 'explore'
65
+
66
+ if (!sessionExists) {
67
+ bash(`mkdir -p ${sessionFolder}`)
68
+ }
69
+ ```
70
+
71
+ ---
72
+
73
+ ### Explore Mode
74
+
75
+ **Step 1.1: Locate Error Source**
76
+
77
+ ```javascript
78
+ // Extract keywords from bug description
79
+ const keywords = extractErrorKeywords("$BUG")
80
+ // e.g., ['Stack Length', '未找到', 'registered 0']
81
+
82
+ // Search codebase for error locations
83
+ for (const keyword of keywords) {
84
+ Grep({ pattern: keyword, path: ".", output_mode: "content", "-C": 3 })
85
+ }
86
+
87
+ // Identify affected files and functions
88
+ const affectedLocations = [...] // from search results
89
+ ```
90
+
91
+ **Step 1.2: Generate Hypotheses (Dynamic)**
92
+
93
+ ```javascript
94
+ // Hypothesis categories based on error pattern
95
+ const HYPOTHESIS_PATTERNS = {
96
+ "not found|missing|undefined|未找到": "data_mismatch",
97
+ "0|empty|zero|registered 0": "logic_error",
98
+ "timeout|connection|sync": "integration_issue",
99
+ "type|format|parse": "type_mismatch"
100
+ }
101
+
102
+ // Generate hypotheses based on actual issue (NOT fixed count)
103
+ function generateHypotheses(bugDescription, affectedLocations) {
104
+ const hypotheses = []
105
+
106
+ // Analyze bug and create targeted hypotheses
107
+ // Each hypothesis has:
108
+ // - id: H1, H2, ... (dynamic count)
109
+ // - description: What might be wrong
110
+ // - testable_condition: What to log
111
+ // - logging_point: Where to add instrumentation
112
+
113
+ return hypotheses // Could be 1, 3, 5, or more
114
+ }
115
+
116
+ const hypotheses = generateHypotheses("$BUG", affectedLocations)
117
+ ```
118
+
119
+ **Step 1.3: Add NDJSON Instrumentation**
120
+
121
+ For each hypothesis, add logging at the relevant location:
122
+
123
+ **Python template**:
124
+ ```python
125
+ # region debug [H{n}]
126
+ try:
127
+ import json, time
128
+ _dbg = {
129
+ "sid": "{sessionId}",
130
+ "hid": "H{n}",
131
+ "loc": "{file}:{line}",
132
+ "msg": "{testable_condition}",
133
+ "data": {
134
+ # Capture relevant values here
135
+ },
136
+ "ts": int(time.time() * 1000)
137
+ }
138
+ with open(r"{debugLogPath}", "a", encoding="utf-8") as _f:
139
+ _f.write(json.dumps(_dbg, ensure_ascii=False) + "\n")
140
+ except: pass
141
+ # endregion
142
+ ```
143
+
144
+ **JavaScript/TypeScript template**:
145
+ ```javascript
146
+ // region debug [H{n}]
147
+ try {
148
+ require('fs').appendFileSync("{debugLogPath}", JSON.stringify({
149
+ sid: "{sessionId}",
150
+ hid: "H{n}",
151
+ loc: "{file}:{line}",
152
+ msg: "{testable_condition}",
153
+ data: { /* Capture relevant values */ },
154
+ ts: Date.now()
155
+ }) + "\n");
156
+ } catch(_) {}
157
+ // endregion
158
+ ```
159
+
160
+ **Output to user**:
161
+ ```
162
+ ## Hypotheses Generated
163
+
164
+ Based on error "$BUG", generated {n} hypotheses:
165
+
166
+ {hypotheses.map(h => `
167
+ ### ${h.id}: ${h.description}
168
+ - Logging at: ${h.logging_point}
169
+ - Testing: ${h.testable_condition}
170
+ `).join('')}
171
+
172
+ **Debug log**: ${debugLogPath}
173
+
174
+ **Next**: Run reproduction steps, then come back for analysis.
175
+ ```
176
+
177
+ ---
178
+
179
+ ### Analyze Mode
180
+
181
+ ```javascript
182
+ // Parse NDJSON log
183
+ const entries = Read(debugLogPath).split('\n')
184
+ .filter(l => l.trim())
185
+ .map(l => JSON.parse(l))
186
+
187
+ // Group by hypothesis
188
+ const byHypothesis = groupBy(entries, 'hid')
189
+
190
+ // Validate each hypothesis
191
+ for (const [hid, logs] of Object.entries(byHypothesis)) {
192
+ const hypothesis = hypotheses.find(h => h.id === hid)
193
+ const latestLog = logs[logs.length - 1]
194
+
195
+ // Check if evidence confirms or rejects hypothesis
196
+ const verdict = evaluateEvidence(hypothesis, latestLog.data)
197
+ // Returns: 'confirmed' | 'rejected' | 'inconclusive'
198
+ }
199
+ ```
200
+
201
+ **Output**:
202
+ ```
203
+ ## Evidence Analysis
204
+
205
+ Analyzed ${entries.length} log entries.
206
+
207
+ ${results.map(r => `
208
+ ### ${r.id}: ${r.description}
209
+ - **Status**: ${r.verdict}
210
+ - **Evidence**: ${JSON.stringify(r.evidence)}
211
+ - **Reason**: ${r.reason}
212
+ `).join('')}
213
+
214
+ ${confirmedHypothesis ? `
215
+ ## Root Cause Identified
216
+
217
+ **${confirmedHypothesis.id}**: ${confirmedHypothesis.description}
218
+
219
+ Ready to fix.
220
+ ` : `
221
+ ## Need More Evidence
222
+
223
+ Add more logging or refine hypotheses.
224
+ `}
225
+ ```
226
+
227
+ ---
228
+
229
+ ### Fix & Cleanup
230
+
231
+ ```javascript
232
+ // Apply fix based on confirmed hypothesis
233
+ // ... Edit affected files
234
+
235
+ // After user verifies fix works:
236
+
237
+ // Remove debug instrumentation (search for region markers)
238
+ const instrumentedFiles = Grep({
239
+ pattern: "# region debug|// region debug",
240
+ output_mode: "files_with_matches"
241
+ })
242
+
243
+ for (const file of instrumentedFiles) {
244
+ // Remove content between region markers
245
+ removeDebugRegions(file)
246
+ }
247
+
248
+ console.log(`
249
+ ## Debug Complete
250
+
251
+ - Root cause: ${confirmedHypothesis.description}
252
+ - Fix applied to: ${modifiedFiles.join(', ')}
253
+ - Debug instrumentation removed
254
+ `)
255
+ ```
256
+
257
+ ---
258
+
259
+ ## Debug Log Format (NDJSON)
260
+
261
+ Each line is a JSON object:
262
+
263
+ ```json
264
+ {"sid":"DBG-xxx-2025-12-18","hid":"H1","loc":"file.py:func:42","msg":"Check dict keys","data":{"keys":["a","b"],"target":"c","found":false},"ts":1734567890123}
265
+ ```
266
+
267
+ | Field | Description |
268
+ |-------|-------------|
269
+ | `sid` | Session ID |
270
+ | `hid` | Hypothesis ID (H1, H2, ...) |
271
+ | `loc` | Code location |
272
+ | `msg` | What's being tested |
273
+ | `data` | Captured values |
274
+ | `ts` | Timestamp (ms) |
275
+
276
+ ## Session Folder
277
+
278
+ ```
279
+ .workflow/.debug/DBG-{slug}-{date}/
280
+ ├── debug.log # NDJSON log (main artifact)
281
+ └── resolution.md # Summary after fix (optional)
282
+ ```
283
+
284
+ ## Iteration Flow
285
+
286
+ ```
287
+ First Call (/prompts:debug BUG="error"):
288
+ ├─ No session exists → Explore mode
289
+ ├─ Extract error keywords, search codebase
290
+ ├─ Generate hypotheses, add logging
291
+ └─ Await user reproduction
292
+
293
+ After Reproduction (/prompts:debug BUG="error"):
294
+ ├─ Session exists + debug.log has content → Analyze mode
295
+ ├─ Parse log, evaluate hypotheses
296
+ └─ Decision:
297
+ ├─ Confirmed → Fix → User verify
298
+ │ ├─ Fixed → Cleanup → Done
299
+ │ └─ Not fixed → Add logging → Iterate
300
+ ├─ Inconclusive → Add logging → Iterate
301
+ └─ All rejected → New hypotheses → Iterate
302
+
303
+ Output:
304
+ └─ .workflow/.debug/DBG-{slug}-{date}/debug.log
305
+ ```
306
+
307
+ ## Error Handling
308
+
309
+ | Situation | Action |
310
+ |-----------|--------|
311
+ | Empty debug.log | Verify reproduction triggered the code path |
312
+ | All hypotheses rejected | Generate new hypotheses with broader scope |
313
+ | Fix doesn't work | Iterate with more granular logging |
314
+ | >5 iterations | Escalate with collected evidence |
315
+
316
+ ---
317
+
318
+ **Now execute the debug workflow for bug**: $BUG