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,585 +1,587 @@
1
- ---
2
- name: api-designer
3
- description: Generate or update api-designer/analysis.md addressing guidance-specification discussion points for API design perspective
4
- argument-hint: "optional topic - uses existing framework if available"
5
- allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
6
- ---
7
-
8
- ## 🔌 **API Designer Analysis Generator**
9
-
10
- ### Purpose
11
- **Specialized command for generating api-designer/analysis.md** that addresses guidance-specification.md discussion points from backend API design perspective. Creates or updates role-specific analysis with framework references.
12
-
13
- ### Core Function
14
- - **Framework-based Analysis**: Address each discussion point in guidance-specification.md
15
- - **API Design Focus**: RESTful/GraphQL API design, endpoint structure, and contract definition
16
- - **Update Mechanism**: Create new or update existing analysis.md
17
- - **Agent Delegation**: Use conceptual-planning-agent for analysis generation
18
-
19
- ### Analysis Scope
20
- - **API Architecture**: RESTful/GraphQL design patterns and best practices
21
- - **Endpoint Design**: Resource modeling, URL structure, and HTTP method selection
22
- - **Data Contracts**: Request/response schemas, validation rules, and data transformation
23
- - **API Documentation**: OpenAPI/Swagger specifications and developer experience
24
-
25
- ### Role Boundaries & Responsibilities
26
-
27
- #### **What This Role OWNS (API Contract Within Architectural Framework)**
28
- - **API Contract Definition**: Specific endpoint paths, HTTP methods, and status codes
29
- - **Resource Modeling**: Mapping domain entities to RESTful resources or GraphQL types
30
- - **Request/Response Schemas**: Detailed data contracts, validation rules, and error formats
31
- - **API Versioning Strategy**: Version management, deprecation policies, and migration paths
32
- - **Developer Experience**: API documentation (OpenAPI/Swagger), code examples, and SDKs
33
-
34
- #### **What This Role DOES NOT Own (Defers to Other Roles)**
35
- - **System Architecture Decisions**: Microservices vs monolithic, overall communication patterns → Defers to **System Architect**
36
- - **Canonical Data Model**: Underlying data schemas and entity relationships → Defers to **Data Architect**
37
- - **UI/Frontend Integration**: How clients consume the API → Defers to **UI Designer**
38
-
39
- #### **Handoff Points**
40
- - **FROM System Architect**: Receives architectural constraints (REST vs GraphQL, sync vs async) that define the design space
41
- - **FROM Data Architect**: Receives canonical data model and translates it into public API data contracts (as projection/view)
42
- - **TO Frontend Teams**: Provides complete API specifications, documentation, and integration guides
43
-
44
- ## ⚙️ **Execution Protocol**
45
-
46
- ### Phase 1: Session & Framework Detection
47
- ```bash
48
- # Check active session and framework
49
- CHECK: find .workflow/active/ -name "WFS-*" -type d
50
- IF active_session EXISTS:
51
- session_id = get_active_session()
52
- brainstorm_dir = .workflow/active/WFS-{session}/.brainstorming/
53
-
54
- CHECK: brainstorm_dir/guidance-specification.md
55
- IF EXISTS:
56
- framework_mode = true
57
- load_framework = true
58
- ELSE:
59
- IF topic_provided:
60
- framework_mode = false # Create analysis without framework
61
- ELSE:
62
- ERROR: "No framework found and no topic provided"
63
- ```
64
-
65
- ### Phase 2: Analysis Mode Detection
66
- ```bash
67
- # Check existing analysis
68
- CHECK: brainstorm_dir/api-designer/analysis.md
69
- IF EXISTS:
70
- SHOW existing analysis summary
71
- ASK: "Analysis exists. Do you want to:"
72
- OPTIONS:
73
- 1. "Update with new insights" → Update existing
74
- 2. "Replace completely" → Generate new
75
- 3. "Cancel" → Exit without changes
76
- ELSE:
77
- CREATE new analysis
78
- ```
79
-
80
- ### Phase 3: Agent Task Generation
81
- **Framework-Based Analysis** (when guidance-specification.md exists):
82
- ```bash
83
- Task(subagent_type="conceptual-planning-agent",
84
- prompt="Generate API designer analysis addressing topic framework
85
-
86
- ## Framework Integration Required
87
- **MANDATORY**: Load and address guidance-specification.md discussion points
88
- **Framework Reference**: @{session.brainstorm_dir}/guidance-specification.md
89
- **Output Location**: {session.brainstorm_dir}/api-designer/analysis.md
90
-
91
- ## Analysis Requirements
92
- 1. **Load Topic Framework**: Read guidance-specification.md completely
93
- 2. **Address Each Discussion Point**: Respond to all 5 framework sections from API design perspective
94
- 3. **Include Framework Reference**: Start analysis.md with @../guidance-specification.md
95
- 4. **API Design Focus**: Emphasize endpoint structure, data contracts, versioning strategies
96
- 5. **Structured Response**: Use framework structure for analysis organization
97
-
98
- ## Framework Sections to Address
99
- - Core Requirements (from API design perspective)
100
- - Technical Considerations (detailed API architecture analysis)
101
- - User Experience Factors (developer experience and API usability)
102
- - Implementation Challenges (API design risks and solutions)
103
- - Success Metrics (API performance metrics and adoption tracking)
104
-
105
- ## Output Structure Required
106
- ```markdown
107
- # API Designer Analysis: [Topic]
108
-
109
- **Framework Reference**: @../guidance-specification.md
110
- **Role Focus**: Backend API Design and Contract Definition
111
-
112
- ## Core Requirements Analysis
113
- [Address framework requirements from API design perspective]
114
-
115
- ## Technical Considerations
116
- [Detailed API architecture and endpoint design analysis]
117
-
118
- ## Developer Experience Factors
119
- [API usability, documentation, and integration ease]
120
-
121
- ## Implementation Challenges
122
- [API design risks and mitigation strategies]
123
-
124
- ## Success Metrics
125
- [API performance metrics, adoption rates, and developer satisfaction]
126
-
127
- ## API Design-Specific Recommendations
128
- [Detailed API design recommendations and best practices]
129
- ```",
130
- description="Generate API designer framework-based analysis")
131
- ```
132
-
133
- ### Phase 4: Update Mechanism
134
- **Analysis Update Process**:
135
- ```bash
136
- # For existing analysis updates
137
- IF update_mode = "incremental":
138
- Task(subagent_type="conceptual-planning-agent",
139
- prompt="Update existing API designer analysis
140
-
141
- ## Current Analysis Context
142
- **Existing Analysis**: @{session.brainstorm_dir}/api-designer/analysis.md
143
- **Framework Reference**: @{session.brainstorm_dir}/guidance-specification.md
144
-
145
- ## Update Requirements
146
- 1. **Preserve Structure**: Maintain existing analysis structure
147
- 2. **Add New Insights**: Integrate new API design insights and recommendations
148
- 3. **Framework Alignment**: Ensure continued alignment with topic framework
149
- 4. **API Updates**: Add new endpoint patterns, versioning strategies, documentation improvements
150
- 5. **Maintain References**: Keep @../guidance-specification.md reference
151
-
152
- ## Update Instructions
153
- - Read existing analysis completely
154
- - Identify areas for enhancement or new insights
155
- - Add API design depth while preserving original structure
156
- - Update recommendations with new API design patterns and approaches
157
- - Maintain framework discussion point addressing",
158
- description="Update API designer analysis incrementally")
159
- ```
160
-
161
- ## Document Structure
162
-
163
- ### Output Files
164
- ```
165
- .workflow/active/WFS-[topic]/.brainstorming/
166
- ├── guidance-specification.md # Input: Framework (if exists)
167
- └── api-designer/
168
- └── analysis.md # ★ OUTPUT: Framework-based analysis
169
- ```
170
-
171
- ### Analysis Structure
172
- **Required Elements**:
173
- - **Framework Reference**: @../guidance-specification.md (if framework exists)
174
- - **Role Focus**: Backend API Design and Contract Definition perspective
175
- - **5 Framework Sections**: Address each framework discussion point
176
- - **API Design Recommendations**: Endpoint-specific insights and solutions
177
-
178
- ## **Two-Step Execution Flow**
179
-
180
- ### ⚠️ Session Management - FIRST STEP
181
- Session detection and selection:
182
- ```bash
183
- # Check for active sessions
184
- active_sessions=$(find .workflow/active/ -name "WFS-*" -type d 2>/dev/null)
185
- if [ multiple_sessions ]; then
186
- prompt_user_to_select_session()
187
- else
188
- use_existing_or_create_new()
189
- fi
190
- ```
191
-
192
- ### Step 1: Context Gathering Phase
193
- **API Designer Perspective Questioning**
194
-
195
- Before agent assignment, gather comprehensive API design context:
196
-
197
- #### 📋 Role-Specific Questions
198
- 1. **API Type & Architecture**
199
- - RESTful, GraphQL, or hybrid API approach?
200
- - Synchronous vs asynchronous communication patterns?
201
- - Real-time requirements (WebSocket, Server-Sent Events)?
202
-
203
- 2. **Resource Modeling & Endpoints**
204
- - What are the core domain resources/entities?
205
- - Expected CRUD operations for each resource?
206
- - Complex query requirements (filtering, sorting, pagination)?
207
-
208
- 3. **Data Contracts & Validation**
209
- - Request/response data format requirements (JSON, XML, Protocol Buffers)?
210
- - Input validation and sanitization requirements?
211
- - Data transformation and mapping needs?
212
-
213
- 4. **API Management & Governance**
214
- - API versioning strategy requirements?
215
- - Authentication and authorization mechanisms?
216
- - Rate limiting and throttling requirements?
217
- - API documentation and developer portal needs?
218
-
219
- 5. **Integration & Compatibility**
220
- - Client platforms consuming the API (web, mobile, third-party)?
221
- - Backward compatibility requirements?
222
- - External API integrations needed?
223
-
224
- #### Context Validation
225
- - **Minimum Response**: Each answer must be ≥50 characters
226
- - **Re-prompting**: Insufficient detail triggers follow-up questions
227
- - **Context Storage**: Save responses to `.brainstorming/api-designer-context.md`
228
-
229
- ### Step 2: Agent Assignment with Flow Control
230
- **Dedicated Agent Execution**
231
-
232
- ```bash
233
- Task(conceptual-planning-agent): "
234
- [FLOW_CONTROL]
235
-
236
- Execute dedicated api-designer conceptual analysis for: {topic}
237
-
238
- ASSIGNED_ROLE: api-designer
239
- OUTPUT_LOCATION: .brainstorming/api-designer/
240
- USER_CONTEXT: {validated_responses_from_context_gathering}
241
-
242
- Flow Control Steps:
243
- [
244
- {
245
- \"step\": \"load_role_template\",
246
- \"action\": \"Load api-designer planning template\",
247
- \"command\": \"bash($(cat ~/.claude/workflows/cli-templates/planning-roles/api-designer.md))\",
248
- \"output_to\": \"role_template\"
249
- }
250
- ]
251
-
252
- Conceptual Analysis Requirements:
253
- - Apply api-designer perspective to topic analysis
254
- - Focus on endpoint design, data contracts, and API governance
255
- - Use loaded role template framework for analysis structure
256
- - Generate role-specific deliverables in designated output location
257
- - Address all user context from questioning phase
258
-
259
- Deliverables:
260
- - analysis.md: Main API design analysis
261
- - api-specification.md: Detailed endpoint specifications
262
- - data-contracts.md: Request/response schemas and validation rules
263
- - api-documentation.md: API documentation strategy and templates
264
-
265
- Embody api-designer role expertise for comprehensive conceptual planning."
266
- ```
267
-
268
- ### Progress Tracking
269
- TodoWrite tracking for two-step process:
270
- ```json
271
- [
272
- {"content": "Gather API designer context through role-specific questioning", "status": "in_progress", "activeForm": "Gathering context"},
273
- {"content": "Validate context responses and save to api-designer-context.md", "status": "pending", "activeForm": "Validating context"},
274
- {"content": "Load api-designer planning template via flow control", "status": "pending", "activeForm": "Loading template"},
275
- {"content": "Execute dedicated conceptual-planning-agent for api-designer role", "status": "pending", "activeForm": "Executing agent"}
276
- ]
277
- ```
278
-
279
- ## 📊 **Output Specification**
280
-
281
- ### Output Location
282
- ```
283
- .workflow/active/WFS-{topic-slug}/.brainstorming/api-designer/
284
- ├── analysis.md # Primary API design analysis
285
- ├── api-specification.md # Detailed endpoint specifications (OpenAPI/Swagger)
286
- ├── data-contracts.md # Request/response schemas and validation rules
287
- ├── versioning-strategy.md # API versioning and backward compatibility plan
288
- └── developer-guide.md # API usage documentation and integration examples
289
- ```
290
-
291
- ### Document Templates
292
-
293
- #### analysis.md Structure
294
- ```markdown
295
- # API Design Analysis: {Topic}
296
- *Generated: {timestamp}*
297
-
298
- ## Executive Summary
299
- [Key API design findings and recommendations overview]
300
-
301
- ## API Architecture Overview
302
- ### API Type Selection (REST/GraphQL/Hybrid)
303
- ### Communication Patterns
304
- ### Authentication & Authorization Strategy
305
-
306
- ## Resource Modeling
307
- ### Core Domain Resources
308
- ### Resource Relationships
309
- ### URL Structure and Naming Conventions
310
-
311
- ## Endpoint Design
312
- ### Resource Endpoints
313
- - GET /api/v1/resources
314
- - POST /api/v1/resources
315
- - GET /api/v1/resources/{id}
316
- - PUT /api/v1/resources/{id}
317
- - DELETE /api/v1/resources/{id}
318
-
319
- ### Query Parameters
320
- - Filtering: ?filter[field]=value
321
- - Sorting: ?sort=field,-field2
322
- - Pagination: ?page=1&limit=20
323
-
324
- ### HTTP Methods and Status Codes
325
- - Success responses (2xx)
326
- - Client errors (4xx)
327
- - Server errors (5xx)
328
-
329
- ## Data Contracts
330
- ### Request Schemas
331
- [JSON Schema or OpenAPI definitions]
332
-
333
- ### Response Schemas
334
- [JSON Schema or OpenAPI definitions]
335
-
336
- ### Validation Rules
337
- - Required fields
338
- - Data types and formats
339
- - Business logic constraints
340
-
341
- ## API Versioning Strategy
342
- ### Versioning Approach (URL/Header/Accept)
343
- ### Version Lifecycle Management
344
- ### Deprecation Policy
345
- ### Migration Paths
346
-
347
- ## Security & Governance
348
- ### Authentication Mechanisms
349
- - OAuth 2.0 / JWT / API Keys
350
- ### Authorization Patterns
351
- - RBAC / ABAC / Resource-based
352
- ### Rate Limiting & Throttling
353
- ### CORS and Security Headers
354
-
355
- ## Error Handling
356
- ### Standard Error Response Format
357
- ```json
358
- {
359
- "error": {
360
- "code": "ERROR_CODE",
361
- "message": "Human-readable error message",
362
- "details": [],
363
- "trace_id": "uuid"
364
- }
365
- }
366
- ```
367
-
368
- ### Error Code Taxonomy
369
- ### Validation Error Responses
370
-
371
- ## API Documentation
372
- ### OpenAPI/Swagger Specification
373
- ### Developer Portal Requirements
374
- ### Code Examples and SDKs
375
- ### Changelog and Migration Guides
376
-
377
- ## Performance Optimization
378
- ### Response Caching Strategies
379
- ### Compression (gzip, brotli)
380
- ### Field Selection (sparse fieldsets)
381
- ### Bulk Operations and Batch Endpoints
382
-
383
- ## Monitoring & Observability
384
- ### API Metrics
385
- - Request count, latency, error rates
386
- - Endpoint usage analytics
387
- ### Logging Strategy
388
- ### Distributed Tracing
389
-
390
- ## Developer Experience
391
- ### API Usability Assessment
392
- ### Integration Complexity
393
- ### SDK and Client Library Needs
394
- ### Sandbox and Testing Environments
395
- ```
396
-
397
- #### api-specification.md Structure
398
- ```markdown
399
- # API Specification: {Topic}
400
- *OpenAPI 3.0 Specification*
401
-
402
- ## API Information
403
- - **Title**: {API Name}
404
- - **Version**: 1.0.0
405
- - **Base URL**: https://api.example.com/v1
406
- - **Contact**: api-team@example.com
407
-
408
- ## Endpoints
409
-
410
- ### Users API
411
-
412
- #### GET /users
413
- **Description**: Retrieve a list of users
414
-
415
- **Parameters**:
416
- - `page` (query, integer): Page number (default: 1)
417
- - `limit` (query, integer): Items per page (default: 20, max: 100)
418
- - `sort` (query, string): Sort field (e.g., "created_at", "-updated_at")
419
- - `filter[status]` (query, string): Filter by user status
420
-
421
- **Response 200**:
422
- ```json
423
- {
424
- "data": [
425
- {
426
- "id": "uuid",
427
- "username": "string",
428
- "email": "string",
429
- "created_at": "2025-10-15T00:00:00Z"
430
- }
431
- ],
432
- "meta": {
433
- "page": 1,
434
- "limit": 20,
435
- "total": 100
436
- },
437
- "links": {
438
- "self": "/users?page=1",
439
- "next": "/users?page=2",
440
- "prev": null
441
- }
442
- }
443
- ```
444
-
445
- #### POST /users
446
- **Description**: Create a new user
447
-
448
- **Request Body**:
449
- ```json
450
- {
451
- "username": "string (required, 3-50 chars)",
452
- "email": "string (required, valid email)",
453
- "password": "string (required, min 8 chars)",
454
- "profile": {
455
- "first_name": "string (optional)",
456
- "last_name": "string (optional)"
457
- }
458
- }
459
- ```
460
-
461
- **Response 201**:
462
- ```json
463
- {
464
- "data": {
465
- "id": "uuid",
466
- "username": "string",
467
- "email": "string",
468
- "created_at": "2025-10-15T00:00:00Z"
469
- }
470
- }
471
- ```
472
-
473
- **Response 400** (Validation Error):
474
- ```json
475
- {
476
- "error": {
477
- "code": "VALIDATION_ERROR",
478
- "message": "Request validation failed",
479
- "details": [
480
- {
481
- "field": "email",
482
- "message": "Invalid email format"
483
- }
484
- ]
485
- }
486
- }
487
- ```
488
-
489
- [Continue for all endpoints...]
490
-
491
- ## Authentication
492
-
493
- ### OAuth 2.0 Flow
494
- 1. Client requests authorization
495
- 2. User grants permission
496
- 3. Client receives access token
497
- 4. Client uses token in requests
498
-
499
- **Header Format**:
500
- ```
501
- Authorization: Bearer {access_token}
502
- ```
503
-
504
- ## Rate Limiting
505
-
506
- **Headers**:
507
- - `X-RateLimit-Limit`: 1000
508
- - `X-RateLimit-Remaining`: 999
509
- - `X-RateLimit-Reset`: 1634270400
510
-
511
- **Response 429** (Too Many Requests):
512
- ```json
513
- {
514
- "error": {
515
- "code": "RATE_LIMIT_EXCEEDED",
516
- "message": "API rate limit exceeded",
517
- "retry_after": 3600
518
- }
519
- }
520
- ```
521
- ```
522
-
523
- ## 🔄 **Session Integration**
524
-
525
- ### Status Synchronization
526
- Upon completion, update `workflow-session.json`:
527
- ```json
528
- {
529
- "phases": {
530
- "BRAINSTORM": {
531
- "api_designer": {
532
- "status": "completed",
533
- "completed_at": "timestamp",
534
- "output_directory": ".workflow/active/WFS-{topic}/.brainstorming/api-designer/",
535
- "key_insights": ["endpoint_design", "versioning_strategy", "data_contracts"]
536
- }
537
- }
538
- }
539
- }
540
- ```
541
-
542
- ### Cross-Role Collaboration
543
- API designer perspective provides:
544
- - **API Contract Specifications** → Frontend Developer
545
- - **Data Schema Requirements** → Data Architect
546
- - **Security Requirements** → Security Expert
547
- - **Integration Endpoints** → System Architect
548
- - **Performance Constraints** → DevOps Engineer
549
-
550
- ## **Quality Assurance**
551
-
552
- ### Required Analysis Elements
553
- - [ ] Complete endpoint inventory with HTTP methods and paths
554
- - [ ] Detailed request/response schemas with validation rules
555
- - [ ] Clear versioning strategy and backward compatibility plan
556
- - [ ] Comprehensive error handling and status code usage
557
- - [ ] API documentation strategy (OpenAPI/Swagger)
558
-
559
- ### API Design Principles
560
- - [ ] **Consistency**: Uniform naming conventions and patterns across all endpoints
561
- - [ ] **Simplicity**: Intuitive resource modeling and URL structures
562
- - [ ] **Flexibility**: Support for filtering, sorting, pagination, and field selection
563
- - [ ] **Security**: Proper authentication, authorization, and input validation
564
- - [ ] **Performance**: Caching strategies, compression, and efficient data structures
565
-
566
- ### Developer Experience Validation
567
- - [ ] API is self-documenting with clear endpoint descriptions
568
- - [ ] Error messages are actionable and helpful for debugging
569
- - [ ] Response formats are consistent and predictable
570
- - [ ] Code examples and integration guides are provided
571
- - [ ] Sandbox environment available for testing
572
-
573
- ### Technical Completeness
574
- - [ ] **Resource Modeling**: All domain entities mapped to API resources
575
- - [ ] **CRUD Coverage**: Complete create, read, update, delete operations
576
- - [ ] **Query Capabilities**: Advanced filtering, sorting, and search functionality
577
- - [ ] **Versioning**: Clear version management and migration paths
578
- - [ ] **Monitoring**: API metrics, logging, and tracing strategies defined
579
-
580
- ### Integration Readiness
581
- - [ ] **Client Compatibility**: API works with all target client platforms
582
- - [ ] **External Integration**: Third-party API dependencies identified
583
- - [ ] **Backward Compatibility**: Changes don't break existing clients
584
- - [ ] **Migration Path**: Clear upgrade paths for API consumers
585
- - [ ] **SDK Support**: Client libraries and code generation considered
1
+ ---
2
+ name: api-designer
3
+ description: Generate or update api-designer/analysis.md addressing guidance-specification discussion points for API design perspective
4
+ argument-hint: "optional topic - uses existing framework if available"
5
+ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
6
+ ---
7
+
8
+ ## 🔌 **API Designer Analysis Generator**
9
+
10
+ ### Purpose
11
+ **Specialized command for generating api-designer/analysis.md** that addresses guidance-specification.md discussion points from backend API design perspective. Creates or updates role-specific analysis with framework references.
12
+
13
+ ### Core Function
14
+ - **Framework-based Analysis**: Address each discussion point in guidance-specification.md
15
+ - **API Design Focus**: RESTful/GraphQL API design, endpoint structure, and contract definition
16
+ - **Update Mechanism**: Create new or update existing analysis.md
17
+ - **Agent Delegation**: Use conceptual-planning-agent for analysis generation
18
+
19
+ ### Analysis Scope
20
+ - **API Architecture**: RESTful/GraphQL design patterns and best practices
21
+ - **Endpoint Design**: Resource modeling, URL structure, and HTTP method selection
22
+ - **Data Contracts**: Request/response schemas, validation rules, and data transformation
23
+ - **API Documentation**: OpenAPI/Swagger specifications and developer experience
24
+
25
+ ### Role Boundaries & Responsibilities
26
+
27
+ #### **What This Role OWNS (API Contract Within Architectural Framework)**
28
+ - **API Contract Definition**: Specific endpoint paths, HTTP methods, and status codes
29
+ - **Resource Modeling**: Mapping domain entities to RESTful resources or GraphQL types
30
+ - **Request/Response Schemas**: Detailed data contracts, validation rules, and error formats
31
+ - **API Versioning Strategy**: Version management, deprecation policies, and migration paths
32
+ - **Developer Experience**: API documentation (OpenAPI/Swagger), code examples, and SDKs
33
+
34
+ #### **What This Role DOES NOT Own (Defers to Other Roles)**
35
+ - **System Architecture Decisions**: Microservices vs monolithic, overall communication patterns → Defers to **System Architect**
36
+ - **Canonical Data Model**: Underlying data schemas and entity relationships → Defers to **Data Architect**
37
+ - **UI/Frontend Integration**: How clients consume the API → Defers to **UI Designer**
38
+
39
+ #### **Handoff Points**
40
+ - **FROM System Architect**: Receives architectural constraints (REST vs GraphQL, sync vs async) that define the design space
41
+ - **FROM Data Architect**: Receives canonical data model and translates it into public API data contracts (as projection/view)
42
+ - **TO Frontend Teams**: Provides complete API specifications, documentation, and integration guides
43
+
44
+ ## ⚙️ **Execution Protocol**
45
+
46
+ ### Phase 1: Session & Framework Detection
47
+ ```bash
48
+ # Check active session and framework
49
+ CHECK: find .workflow/active/ -name "WFS-*" -type d
50
+ IF active_session EXISTS:
51
+ session_id = get_active_session()
52
+ brainstorm_dir = .workflow/active/WFS-{session}/.brainstorming/
53
+
54
+ CHECK: brainstorm_dir/guidance-specification.md
55
+ IF EXISTS:
56
+ framework_mode = true
57
+ load_framework = true
58
+ ELSE:
59
+ IF topic_provided:
60
+ framework_mode = false # Create analysis without framework
61
+ ELSE:
62
+ ERROR: "No framework found and no topic provided"
63
+ ```
64
+
65
+ ### Phase 2: Analysis Mode Detection
66
+ ```bash
67
+ # Check existing analysis
68
+ CHECK: brainstorm_dir/api-designer/analysis.md
69
+ IF EXISTS:
70
+ SHOW existing analysis summary
71
+ ASK: "Analysis exists. Do you want to:"
72
+ OPTIONS:
73
+ 1. "Update with new insights" → Update existing
74
+ 2. "Replace completely" → Generate new
75
+ 3. "Cancel" → Exit without changes
76
+ ELSE:
77
+ CREATE new analysis
78
+ ```
79
+
80
+ ### Phase 3: Agent Task Generation
81
+ **Framework-Based Analysis** (when guidance-specification.md exists):
82
+ ```bash
83
+ Task(subagent_type="conceptual-planning-agent",
84
+ run_in_background=false,
85
+ prompt="Generate API designer analysis addressing topic framework
86
+
87
+ ## Framework Integration Required
88
+ **MANDATORY**: Load and address guidance-specification.md discussion points
89
+ **Framework Reference**: @{session.brainstorm_dir}/guidance-specification.md
90
+ **Output Location**: {session.brainstorm_dir}/api-designer/analysis.md
91
+
92
+ ## Analysis Requirements
93
+ 1. **Load Topic Framework**: Read guidance-specification.md completely
94
+ 2. **Address Each Discussion Point**: Respond to all 5 framework sections from API design perspective
95
+ 3. **Include Framework Reference**: Start analysis.md with @../guidance-specification.md
96
+ 4. **API Design Focus**: Emphasize endpoint structure, data contracts, versioning strategies
97
+ 5. **Structured Response**: Use framework structure for analysis organization
98
+
99
+ ## Framework Sections to Address
100
+ - Core Requirements (from API design perspective)
101
+ - Technical Considerations (detailed API architecture analysis)
102
+ - User Experience Factors (developer experience and API usability)
103
+ - Implementation Challenges (API design risks and solutions)
104
+ - Success Metrics (API performance metrics and adoption tracking)
105
+
106
+ ## Output Structure Required
107
+ ```markdown
108
+ # API Designer Analysis: [Topic]
109
+
110
+ **Framework Reference**: @../guidance-specification.md
111
+ **Role Focus**: Backend API Design and Contract Definition
112
+
113
+ ## Core Requirements Analysis
114
+ [Address framework requirements from API design perspective]
115
+
116
+ ## Technical Considerations
117
+ [Detailed API architecture and endpoint design analysis]
118
+
119
+ ## Developer Experience Factors
120
+ [API usability, documentation, and integration ease]
121
+
122
+ ## Implementation Challenges
123
+ [API design risks and mitigation strategies]
124
+
125
+ ## Success Metrics
126
+ [API performance metrics, adoption rates, and developer satisfaction]
127
+
128
+ ## API Design-Specific Recommendations
129
+ [Detailed API design recommendations and best practices]
130
+ ```",
131
+ description="Generate API designer framework-based analysis")
132
+ ```
133
+
134
+ ### Phase 4: Update Mechanism
135
+ **Analysis Update Process**:
136
+ ```bash
137
+ # For existing analysis updates
138
+ IF update_mode = "incremental":
139
+ Task(subagent_type="conceptual-planning-agent",
140
+ run_in_background=false,
141
+ prompt="Update existing API designer analysis
142
+
143
+ ## Current Analysis Context
144
+ **Existing Analysis**: @{session.brainstorm_dir}/api-designer/analysis.md
145
+ **Framework Reference**: @{session.brainstorm_dir}/guidance-specification.md
146
+
147
+ ## Update Requirements
148
+ 1. **Preserve Structure**: Maintain existing analysis structure
149
+ 2. **Add New Insights**: Integrate new API design insights and recommendations
150
+ 3. **Framework Alignment**: Ensure continued alignment with topic framework
151
+ 4. **API Updates**: Add new endpoint patterns, versioning strategies, documentation improvements
152
+ 5. **Maintain References**: Keep @../guidance-specification.md reference
153
+
154
+ ## Update Instructions
155
+ - Read existing analysis completely
156
+ - Identify areas for enhancement or new insights
157
+ - Add API design depth while preserving original structure
158
+ - Update recommendations with new API design patterns and approaches
159
+ - Maintain framework discussion point addressing",
160
+ description="Update API designer analysis incrementally")
161
+ ```
162
+
163
+ ## Document Structure
164
+
165
+ ### Output Files
166
+ ```
167
+ .workflow/active/WFS-[topic]/.brainstorming/
168
+ ├── guidance-specification.md # Input: Framework (if exists)
169
+ └── api-designer/
170
+ └── analysis.md # ★ OUTPUT: Framework-based analysis
171
+ ```
172
+
173
+ ### Analysis Structure
174
+ **Required Elements**:
175
+ - **Framework Reference**: @../guidance-specification.md (if framework exists)
176
+ - **Role Focus**: Backend API Design and Contract Definition perspective
177
+ - **5 Framework Sections**: Address each framework discussion point
178
+ - **API Design Recommendations**: Endpoint-specific insights and solutions
179
+
180
+ ## **Two-Step Execution Flow**
181
+
182
+ ### ⚠️ Session Management - FIRST STEP
183
+ Session detection and selection:
184
+ ```bash
185
+ # Check for active sessions
186
+ active_sessions=$(find .workflow/active/ -name "WFS-*" -type d 2>/dev/null)
187
+ if [ multiple_sessions ]; then
188
+ prompt_user_to_select_session()
189
+ else
190
+ use_existing_or_create_new()
191
+ fi
192
+ ```
193
+
194
+ ### Step 1: Context Gathering Phase
195
+ **API Designer Perspective Questioning**
196
+
197
+ Before agent assignment, gather comprehensive API design context:
198
+
199
+ #### 📋 Role-Specific Questions
200
+ 1. **API Type & Architecture**
201
+ - RESTful, GraphQL, or hybrid API approach?
202
+ - Synchronous vs asynchronous communication patterns?
203
+ - Real-time requirements (WebSocket, Server-Sent Events)?
204
+
205
+ 2. **Resource Modeling & Endpoints**
206
+ - What are the core domain resources/entities?
207
+ - Expected CRUD operations for each resource?
208
+ - Complex query requirements (filtering, sorting, pagination)?
209
+
210
+ 3. **Data Contracts & Validation**
211
+ - Request/response data format requirements (JSON, XML, Protocol Buffers)?
212
+ - Input validation and sanitization requirements?
213
+ - Data transformation and mapping needs?
214
+
215
+ 4. **API Management & Governance**
216
+ - API versioning strategy requirements?
217
+ - Authentication and authorization mechanisms?
218
+ - Rate limiting and throttling requirements?
219
+ - API documentation and developer portal needs?
220
+
221
+ 5. **Integration & Compatibility**
222
+ - Client platforms consuming the API (web, mobile, third-party)?
223
+ - Backward compatibility requirements?
224
+ - External API integrations needed?
225
+
226
+ #### Context Validation
227
+ - **Minimum Response**: Each answer must be ≥50 characters
228
+ - **Re-prompting**: Insufficient detail triggers follow-up questions
229
+ - **Context Storage**: Save responses to `.brainstorming/api-designer-context.md`
230
+
231
+ ### Step 2: Agent Assignment with Flow Control
232
+ **Dedicated Agent Execution**
233
+
234
+ ```bash
235
+ Task(conceptual-planning-agent): "
236
+ [FLOW_CONTROL]
237
+
238
+ Execute dedicated api-designer conceptual analysis for: {topic}
239
+
240
+ ASSIGNED_ROLE: api-designer
241
+ OUTPUT_LOCATION: .brainstorming/api-designer/
242
+ USER_CONTEXT: {validated_responses_from_context_gathering}
243
+
244
+ Flow Control Steps:
245
+ [
246
+ {
247
+ \"step\": \"load_role_template\",
248
+ \"action\": \"Load api-designer planning template\",
249
+ \"command\": \"bash($(cat ~/.claude/workflows/cli-templates/planning-roles/api-designer.md))\",
250
+ \"output_to\": \"role_template\"
251
+ }
252
+ ]
253
+
254
+ Conceptual Analysis Requirements:
255
+ - Apply api-designer perspective to topic analysis
256
+ - Focus on endpoint design, data contracts, and API governance
257
+ - Use loaded role template framework for analysis structure
258
+ - Generate role-specific deliverables in designated output location
259
+ - Address all user context from questioning phase
260
+
261
+ Deliverables:
262
+ - analysis.md: Main API design analysis
263
+ - api-specification.md: Detailed endpoint specifications
264
+ - data-contracts.md: Request/response schemas and validation rules
265
+ - api-documentation.md: API documentation strategy and templates
266
+
267
+ Embody api-designer role expertise for comprehensive conceptual planning."
268
+ ```
269
+
270
+ ### Progress Tracking
271
+ TodoWrite tracking for two-step process:
272
+ ```json
273
+ [
274
+ {"content": "Gather API designer context through role-specific questioning", "status": "in_progress", "activeForm": "Gathering context"},
275
+ {"content": "Validate context responses and save to api-designer-context.md", "status": "pending", "activeForm": "Validating context"},
276
+ {"content": "Load api-designer planning template via flow control", "status": "pending", "activeForm": "Loading template"},
277
+ {"content": "Execute dedicated conceptual-planning-agent for api-designer role", "status": "pending", "activeForm": "Executing agent"}
278
+ ]
279
+ ```
280
+
281
+ ## 📊 **Output Specification**
282
+
283
+ ### Output Location
284
+ ```
285
+ .workflow/active/WFS-{topic-slug}/.brainstorming/api-designer/
286
+ ├── analysis.md # Primary API design analysis
287
+ ├── api-specification.md # Detailed endpoint specifications (OpenAPI/Swagger)
288
+ ├── data-contracts.md # Request/response schemas and validation rules
289
+ ├── versioning-strategy.md # API versioning and backward compatibility plan
290
+ └── developer-guide.md # API usage documentation and integration examples
291
+ ```
292
+
293
+ ### Document Templates
294
+
295
+ #### analysis.md Structure
296
+ ```markdown
297
+ # API Design Analysis: {Topic}
298
+ *Generated: {timestamp}*
299
+
300
+ ## Executive Summary
301
+ [Key API design findings and recommendations overview]
302
+
303
+ ## API Architecture Overview
304
+ ### API Type Selection (REST/GraphQL/Hybrid)
305
+ ### Communication Patterns
306
+ ### Authentication & Authorization Strategy
307
+
308
+ ## Resource Modeling
309
+ ### Core Domain Resources
310
+ ### Resource Relationships
311
+ ### URL Structure and Naming Conventions
312
+
313
+ ## Endpoint Design
314
+ ### Resource Endpoints
315
+ - GET /api/v1/resources
316
+ - POST /api/v1/resources
317
+ - GET /api/v1/resources/{id}
318
+ - PUT /api/v1/resources/{id}
319
+ - DELETE /api/v1/resources/{id}
320
+
321
+ ### Query Parameters
322
+ - Filtering: ?filter[field]=value
323
+ - Sorting: ?sort=field,-field2
324
+ - Pagination: ?page=1&limit=20
325
+
326
+ ### HTTP Methods and Status Codes
327
+ - Success responses (2xx)
328
+ - Client errors (4xx)
329
+ - Server errors (5xx)
330
+
331
+ ## Data Contracts
332
+ ### Request Schemas
333
+ [JSON Schema or OpenAPI definitions]
334
+
335
+ ### Response Schemas
336
+ [JSON Schema or OpenAPI definitions]
337
+
338
+ ### Validation Rules
339
+ - Required fields
340
+ - Data types and formats
341
+ - Business logic constraints
342
+
343
+ ## API Versioning Strategy
344
+ ### Versioning Approach (URL/Header/Accept)
345
+ ### Version Lifecycle Management
346
+ ### Deprecation Policy
347
+ ### Migration Paths
348
+
349
+ ## Security & Governance
350
+ ### Authentication Mechanisms
351
+ - OAuth 2.0 / JWT / API Keys
352
+ ### Authorization Patterns
353
+ - RBAC / ABAC / Resource-based
354
+ ### Rate Limiting & Throttling
355
+ ### CORS and Security Headers
356
+
357
+ ## Error Handling
358
+ ### Standard Error Response Format
359
+ ```json
360
+ {
361
+ "error": {
362
+ "code": "ERROR_CODE",
363
+ "message": "Human-readable error message",
364
+ "details": [],
365
+ "trace_id": "uuid"
366
+ }
367
+ }
368
+ ```
369
+
370
+ ### Error Code Taxonomy
371
+ ### Validation Error Responses
372
+
373
+ ## API Documentation
374
+ ### OpenAPI/Swagger Specification
375
+ ### Developer Portal Requirements
376
+ ### Code Examples and SDKs
377
+ ### Changelog and Migration Guides
378
+
379
+ ## Performance Optimization
380
+ ### Response Caching Strategies
381
+ ### Compression (gzip, brotli)
382
+ ### Field Selection (sparse fieldsets)
383
+ ### Bulk Operations and Batch Endpoints
384
+
385
+ ## Monitoring & Observability
386
+ ### API Metrics
387
+ - Request count, latency, error rates
388
+ - Endpoint usage analytics
389
+ ### Logging Strategy
390
+ ### Distributed Tracing
391
+
392
+ ## Developer Experience
393
+ ### API Usability Assessment
394
+ ### Integration Complexity
395
+ ### SDK and Client Library Needs
396
+ ### Sandbox and Testing Environments
397
+ ```
398
+
399
+ #### api-specification.md Structure
400
+ ```markdown
401
+ # API Specification: {Topic}
402
+ *OpenAPI 3.0 Specification*
403
+
404
+ ## API Information
405
+ - **Title**: {API Name}
406
+ - **Version**: 1.0.0
407
+ - **Base URL**: https://api.example.com/v1
408
+ - **Contact**: api-team@example.com
409
+
410
+ ## Endpoints
411
+
412
+ ### Users API
413
+
414
+ #### GET /users
415
+ **Description**: Retrieve a list of users
416
+
417
+ **Parameters**:
418
+ - `page` (query, integer): Page number (default: 1)
419
+ - `limit` (query, integer): Items per page (default: 20, max: 100)
420
+ - `sort` (query, string): Sort field (e.g., "created_at", "-updated_at")
421
+ - `filter[status]` (query, string): Filter by user status
422
+
423
+ **Response 200**:
424
+ ```json
425
+ {
426
+ "data": [
427
+ {
428
+ "id": "uuid",
429
+ "username": "string",
430
+ "email": "string",
431
+ "created_at": "2025-10-15T00:00:00Z"
432
+ }
433
+ ],
434
+ "meta": {
435
+ "page": 1,
436
+ "limit": 20,
437
+ "total": 100
438
+ },
439
+ "links": {
440
+ "self": "/users?page=1",
441
+ "next": "/users?page=2",
442
+ "prev": null
443
+ }
444
+ }
445
+ ```
446
+
447
+ #### POST /users
448
+ **Description**: Create a new user
449
+
450
+ **Request Body**:
451
+ ```json
452
+ {
453
+ "username": "string (required, 3-50 chars)",
454
+ "email": "string (required, valid email)",
455
+ "password": "string (required, min 8 chars)",
456
+ "profile": {
457
+ "first_name": "string (optional)",
458
+ "last_name": "string (optional)"
459
+ }
460
+ }
461
+ ```
462
+
463
+ **Response 201**:
464
+ ```json
465
+ {
466
+ "data": {
467
+ "id": "uuid",
468
+ "username": "string",
469
+ "email": "string",
470
+ "created_at": "2025-10-15T00:00:00Z"
471
+ }
472
+ }
473
+ ```
474
+
475
+ **Response 400** (Validation Error):
476
+ ```json
477
+ {
478
+ "error": {
479
+ "code": "VALIDATION_ERROR",
480
+ "message": "Request validation failed",
481
+ "details": [
482
+ {
483
+ "field": "email",
484
+ "message": "Invalid email format"
485
+ }
486
+ ]
487
+ }
488
+ }
489
+ ```
490
+
491
+ [Continue for all endpoints...]
492
+
493
+ ## Authentication
494
+
495
+ ### OAuth 2.0 Flow
496
+ 1. Client requests authorization
497
+ 2. User grants permission
498
+ 3. Client receives access token
499
+ 4. Client uses token in requests
500
+
501
+ **Header Format**:
502
+ ```
503
+ Authorization: Bearer {access_token}
504
+ ```
505
+
506
+ ## Rate Limiting
507
+
508
+ **Headers**:
509
+ - `X-RateLimit-Limit`: 1000
510
+ - `X-RateLimit-Remaining`: 999
511
+ - `X-RateLimit-Reset`: 1634270400
512
+
513
+ **Response 429** (Too Many Requests):
514
+ ```json
515
+ {
516
+ "error": {
517
+ "code": "RATE_LIMIT_EXCEEDED",
518
+ "message": "API rate limit exceeded",
519
+ "retry_after": 3600
520
+ }
521
+ }
522
+ ```
523
+ ```
524
+
525
+ ## 🔄 **Session Integration**
526
+
527
+ ### Status Synchronization
528
+ Upon completion, update `workflow-session.json`:
529
+ ```json
530
+ {
531
+ "phases": {
532
+ "BRAINSTORM": {
533
+ "api_designer": {
534
+ "status": "completed",
535
+ "completed_at": "timestamp",
536
+ "output_directory": ".workflow/active/WFS-{topic}/.brainstorming/api-designer/",
537
+ "key_insights": ["endpoint_design", "versioning_strategy", "data_contracts"]
538
+ }
539
+ }
540
+ }
541
+ }
542
+ ```
543
+
544
+ ### Cross-Role Collaboration
545
+ API designer perspective provides:
546
+ - **API Contract Specifications** → Frontend Developer
547
+ - **Data Schema Requirements** → Data Architect
548
+ - **Security Requirements** → Security Expert
549
+ - **Integration Endpoints** → System Architect
550
+ - **Performance Constraints** → DevOps Engineer
551
+
552
+ ## **Quality Assurance**
553
+
554
+ ### Required Analysis Elements
555
+ - [ ] Complete endpoint inventory with HTTP methods and paths
556
+ - [ ] Detailed request/response schemas with validation rules
557
+ - [ ] Clear versioning strategy and backward compatibility plan
558
+ - [ ] Comprehensive error handling and status code usage
559
+ - [ ] API documentation strategy (OpenAPI/Swagger)
560
+
561
+ ### API Design Principles
562
+ - [ ] **Consistency**: Uniform naming conventions and patterns across all endpoints
563
+ - [ ] **Simplicity**: Intuitive resource modeling and URL structures
564
+ - [ ] **Flexibility**: Support for filtering, sorting, pagination, and field selection
565
+ - [ ] **Security**: Proper authentication, authorization, and input validation
566
+ - [ ] **Performance**: Caching strategies, compression, and efficient data structures
567
+
568
+ ### Developer Experience Validation
569
+ - [ ] API is self-documenting with clear endpoint descriptions
570
+ - [ ] Error messages are actionable and helpful for debugging
571
+ - [ ] Response formats are consistent and predictable
572
+ - [ ] Code examples and integration guides are provided
573
+ - [ ] Sandbox environment available for testing
574
+
575
+ ### Technical Completeness
576
+ - [ ] **Resource Modeling**: All domain entities mapped to API resources
577
+ - [ ] **CRUD Coverage**: Complete create, read, update, delete operations
578
+ - [ ] **Query Capabilities**: Advanced filtering, sorting, and search functionality
579
+ - [ ] **Versioning**: Clear version management and migration paths
580
+ - [ ] **Monitoring**: API metrics, logging, and tracing strategies defined
581
+
582
+ ### Integration Readiness
583
+ - [ ] **Client Compatibility**: API works with all target client platforms
584
+ - [ ] **External Integration**: Third-party API dependencies identified
585
+ - [ ] **Backward Compatibility**: Changes don't break existing clients
586
+ - [ ] **Migration Path**: Clear upgrade paths for API consumers
587
+ - [ ] **SDK Support**: Client libraries and code generation considered