specweave 0.1.8 → 0.3.0

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 (294) hide show
  1. package/CLAUDE.md +600 -0
  2. package/README.md +263 -88
  3. package/bin/install-all.sh +1 -1
  4. package/bin/install-commands.sh +3 -3
  5. package/bin/specweave.js +39 -9
  6. package/dist/adapters/adapter-base.d.ts +1 -1
  7. package/dist/adapters/adapter-base.d.ts.map +1 -1
  8. package/dist/adapters/adapter-base.js +6 -41
  9. package/dist/adapters/adapter-base.js.map +1 -1
  10. package/dist/adapters/adapter-interface.js +1 -2
  11. package/dist/adapters/adapter-interface.js.map +1 -1
  12. package/dist/adapters/adapter-loader.d.ts +86 -0
  13. package/dist/adapters/adapter-loader.d.ts.map +1 -0
  14. package/dist/adapters/adapter-loader.js +216 -0
  15. package/dist/adapters/adapter-loader.js.map +1 -0
  16. package/dist/adapters/agents-md-generator.d.ts +48 -0
  17. package/dist/adapters/agents-md-generator.d.ts.map +1 -0
  18. package/dist/adapters/agents-md-generator.js +132 -0
  19. package/dist/adapters/agents-md-generator.js.map +1 -0
  20. package/dist/adapters/claude/adapter.d.ts +2 -2
  21. package/dist/adapters/claude/adapter.d.ts.map +1 -1
  22. package/dist/adapters/claude/adapter.js +5 -42
  23. package/dist/adapters/claude/adapter.js.map +1 -1
  24. package/dist/adapters/claude-md-generator.d.ts +78 -0
  25. package/dist/adapters/claude-md-generator.d.ts.map +1 -0
  26. package/dist/adapters/claude-md-generator.js +246 -0
  27. package/dist/adapters/claude-md-generator.js.map +1 -0
  28. package/dist/adapters/codex/adapter.d.ts +50 -0
  29. package/dist/adapters/codex/adapter.d.ts.map +1 -0
  30. package/dist/adapters/codex/adapter.js +316 -0
  31. package/dist/adapters/codex/adapter.js.map +1 -0
  32. package/dist/adapters/copilot/adapter.d.ts +10 -9
  33. package/dist/adapters/copilot/adapter.d.ts.map +1 -1
  34. package/dist/adapters/copilot/adapter.js +35 -100
  35. package/dist/adapters/copilot/adapter.js.map +1 -1
  36. package/dist/adapters/cursor/adapter.d.ts +8 -6
  37. package/dist/adapters/cursor/adapter.d.ts.map +1 -1
  38. package/dist/adapters/cursor/adapter.js +47 -130
  39. package/dist/adapters/cursor/adapter.js.map +1 -1
  40. package/dist/adapters/doc-generator.d.ts +69 -0
  41. package/dist/adapters/doc-generator.d.ts.map +1 -0
  42. package/dist/adapters/doc-generator.js +247 -0
  43. package/dist/adapters/doc-generator.js.map +1 -0
  44. package/dist/adapters/gemini/adapter.d.ts +50 -0
  45. package/dist/adapters/gemini/adapter.d.ts.map +1 -0
  46. package/dist/adapters/gemini/adapter.js +281 -0
  47. package/dist/adapters/gemini/adapter.js.map +1 -0
  48. package/dist/adapters/generic/adapter.d.ts +7 -4
  49. package/dist/adapters/generic/adapter.d.ts.map +1 -1
  50. package/dist/adapters/generic/adapter.js +60 -59
  51. package/dist/adapters/generic/adapter.js.map +1 -1
  52. package/dist/cli/commands/init.d.ts +3 -1
  53. package/dist/cli/commands/init.d.ts.map +1 -1
  54. package/dist/cli/commands/init.js +272 -170
  55. package/dist/cli/commands/init.js.map +1 -1
  56. package/dist/cli/commands/install.d.ts.map +1 -1
  57. package/dist/cli/commands/install.js +22 -58
  58. package/dist/cli/commands/install.js.map +1 -1
  59. package/dist/cli/commands/list.d.ts.map +1 -1
  60. package/dist/cli/commands/list.js +27 -64
  61. package/dist/cli/commands/list.js.map +1 -1
  62. package/dist/core/credentials-manager.d.ts +90 -0
  63. package/dist/core/credentials-manager.d.ts.map +1 -0
  64. package/dist/core/credentials-manager.js +271 -0
  65. package/dist/core/credentials-manager.js.map +1 -0
  66. package/dist/core/project-structure-detector.d.ts +92 -0
  67. package/dist/core/project-structure-detector.d.ts.map +1 -0
  68. package/dist/core/project-structure-detector.js +289 -0
  69. package/dist/core/project-structure-detector.js.map +1 -0
  70. package/dist/core/rfc-generator-v2.d.ts +149 -0
  71. package/dist/core/rfc-generator-v2.d.ts.map +1 -0
  72. package/dist/core/rfc-generator-v2.js +399 -0
  73. package/dist/core/rfc-generator-v2.js.map +1 -0
  74. package/dist/core/rfc-generator.d.ts +147 -0
  75. package/dist/core/rfc-generator.d.ts.map +1 -0
  76. package/dist/core/rfc-generator.js +434 -0
  77. package/dist/core/rfc-generator.js.map +1 -0
  78. package/dist/integrations/ado/ado-client.d.ts +123 -0
  79. package/dist/integrations/ado/ado-client.d.ts.map +1 -0
  80. package/dist/integrations/ado/ado-client.js +398 -0
  81. package/dist/integrations/ado/ado-client.js.map +1 -0
  82. package/dist/integrations/jira/jira-client.d.ts +139 -0
  83. package/dist/integrations/jira/jira-client.d.ts.map +1 -0
  84. package/dist/integrations/jira/jira-client.js +386 -0
  85. package/dist/integrations/jira/jira-client.js.map +1 -0
  86. package/dist/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  87. package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  88. package/dist/integrations/jira/jira-incremental-mapper.js +474 -0
  89. package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -0
  90. package/dist/integrations/jira/jira-mapper.d.ts +105 -0
  91. package/dist/integrations/jira/jira-mapper.d.ts.map +1 -0
  92. package/dist/integrations/jira/jira-mapper.js +494 -0
  93. package/dist/integrations/jira/jira-mapper.js.map +1 -0
  94. package/dist/testing/test-generator.d.ts +117 -0
  95. package/dist/testing/test-generator.d.ts.map +1 -0
  96. package/dist/testing/test-generator.js +370 -0
  97. package/dist/testing/test-generator.js.map +1 -0
  98. package/dist/utils/auto-install.d.ts +3 -0
  99. package/dist/utils/auto-install.d.ts.map +1 -1
  100. package/dist/utils/auto-install.js +16 -82
  101. package/dist/utils/auto-install.js.map +1 -1
  102. package/dist/utils/esm-helpers.d.ts +50 -0
  103. package/dist/utils/esm-helpers.d.ts.map +1 -0
  104. package/dist/utils/esm-helpers.js +57 -0
  105. package/dist/utils/esm-helpers.js.map +1 -0
  106. package/package.json +16 -7
  107. package/src/adapters/README.md +1 -2
  108. package/src/adapters/adapter-base.ts +6 -3
  109. package/src/adapters/adapter-loader.ts +261 -0
  110. package/src/adapters/agents-md-generator.ts +162 -0
  111. package/src/adapters/claude/README.md +6 -14
  112. package/src/adapters/claude/adapter.ts +4 -4
  113. package/src/adapters/claude-md-generator.ts +311 -0
  114. package/src/adapters/codex/README.md +105 -0
  115. package/src/adapters/codex/adapter.ts +333 -0
  116. package/src/adapters/copilot/adapter.ts +36 -65
  117. package/src/adapters/cursor/README.md +0 -2
  118. package/src/adapters/cursor/adapter.ts +46 -92
  119. package/src/adapters/doc-generator.ts +331 -0
  120. package/src/adapters/gemini/README.md +97 -0
  121. package/src/adapters/gemini/adapter.ts +298 -0
  122. package/src/adapters/generic/adapter.ts +61 -57
  123. package/src/adapters/registry.yaml +86 -25
  124. package/src/agents/devops/AGENT.md +16 -18
  125. package/src/agents/docs-writer/AGENT.md +2 -2
  126. package/src/agents/pm/AGENT.md +1 -50
  127. package/src/commands/README.md +134 -111
  128. package/src/commands/{build.md → specweave.do.md} +185 -72
  129. package/src/commands/{done.md → specweave.done.md} +3 -3
  130. package/src/commands/{inc.md → specweave.inc.md} +4 -4
  131. package/src/commands/specweave.increment.md +383 -0
  132. package/src/commands/specweave.md +430 -0
  133. package/src/commands/specweave.next.md +495 -0
  134. package/src/commands/specweave.progress.md +258 -0
  135. package/src/commands/specweave.sync-docs.md +665 -0
  136. package/src/commands/specweave.sync-github.md +269 -0
  137. package/src/commands/specweave.sync-jira.md +197 -0
  138. package/src/commands/{validate.md → specweave.validate.md} +4 -4
  139. package/src/hooks/README.md +19 -29
  140. package/src/hooks/post-task-completion.sh +25 -30
  141. package/src/skills/ado-sync/README.md +1 -36
  142. package/src/skills/bmad-method-expert/SKILL.md +1 -3
  143. package/src/skills/brownfield-analyzer/SKILL.md +429 -23
  144. package/src/skills/brownfield-onboarder/SKILL.md +221 -8
  145. package/src/skills/context-loader/SKILL.md +239 -617
  146. package/src/skills/context-optimizer/SKILL.md +0 -30
  147. package/src/skills/github-sync/SKILL.md +1 -19
  148. package/src/skills/increment-planner/SKILL.md +64 -18
  149. package/src/skills/increment-quality-judge/SKILL.md +1 -36
  150. package/src/skills/jira-sync/README.md +1 -38
  151. package/src/skills/role-orchestrator/README.md +1 -22
  152. package/src/skills/role-orchestrator/SKILL.md +1 -59
  153. package/src/skills/skill-router/SKILL.md +0 -18
  154. package/src/skills/spec-kit-expert/SKILL.md +1 -3
  155. package/src/skills/specweave-detector/SKILL.md +225 -275
  156. package/src/skills/task-builder/README.md +1 -7
  157. package/src/templates/AGENTS.md.template +334 -0
  158. package/src/templates/CLAUDE.md.template +131 -297
  159. package/src/templates/README.md.template +115 -23
  160. package/src/templates/environments/minimal/README.md +0 -1
  161. package/INSTALL.md +0 -848
  162. package/SPECWEAVE.md +0 -711
  163. package/src/adapters/copilot/.github/copilot/instructions.md +0 -376
  164. package/src/adapters/cursor/.cursorrules +0 -325
  165. package/src/adapters/generic/SPECWEAVE-MANUAL.md +0 -676
  166. package/src/commands/create-project.md +0 -528
  167. package/src/commands/generate-docs.md +0 -623
  168. package/src/commands/increment.md +0 -223
  169. package/src/commands/review-docs.md +0 -331
  170. package/src/commands/sync-github.md +0 -115
  171. package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
  172. package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
  173. package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
  174. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
  175. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
  176. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
  177. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
  178. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
  179. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
  180. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
  181. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
  182. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
  183. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
  184. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
  185. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
  186. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
  187. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
  188. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
  189. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
  190. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
  191. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
  192. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
  193. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
  194. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
  195. package/src/skills/cost-optimizer/test-results/README.md +0 -46
  196. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
  197. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
  198. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
  199. package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
  200. package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
  201. package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
  202. package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
  203. package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
  204. package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
  205. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
  206. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
  207. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
  208. package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
  209. package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
  210. package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
  211. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
  212. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
  213. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
  214. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
  215. package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
  216. package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
  217. package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
  218. package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
  219. package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
  220. package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
  221. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
  222. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
  223. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
  224. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
  225. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
  226. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
  227. package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
  228. package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
  229. package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
  230. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
  231. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
  232. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
  233. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
  234. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
  235. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
  236. package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
  237. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
  238. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
  239. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
  240. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
  241. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
  242. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
  243. package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
  244. package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
  245. package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
  246. package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
  247. package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
  248. package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
  249. package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
  250. package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
  251. package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
  252. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
  253. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
  254. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
  255. package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
  256. package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
  257. package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
  258. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
  259. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
  260. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
  261. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
  262. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
  263. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
  264. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
  265. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
  266. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
  267. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
  268. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
  269. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
  270. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
  271. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
  272. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
  273. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
  274. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
  275. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
  276. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
  277. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
  278. package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
  279. package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
  280. package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
  281. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
  282. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
  283. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
  284. package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
  285. package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
  286. package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
  287. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
  288. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
  289. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
  290. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
  291. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
  292. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
  293. package/src/templates/config.yaml +0 -351
  294. /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
@@ -0,0 +1,430 @@
1
+ ---
2
+ name: specweave
3
+ description: SpecWeave master command - routes to increment lifecycle subcommands (inc, build, next, done, progress, validate, sync-github, sync-jira). Namespaced to avoid collisions in brownfield projects.
4
+ ---
5
+
6
+ # SpecWeave Master Command
7
+
8
+ **Namespace Protection**: All SpecWeave commands are prefixed with `specweave` to avoid collisions with existing project commands.
9
+
10
+ This master command routes to SpecWeave increment lifecycle subcommands.
11
+
12
+ ---
13
+
14
+ ## Usage
15
+
16
+ ```bash
17
+ /specweave <subcommand> [arguments]
18
+ ```
19
+
20
+ ---
21
+
22
+ ## Available Subcommands
23
+
24
+ ### Increment Lifecycle
25
+
26
+ | Subcommand | Description | Example |
27
+ |------------|-------------|---------|
28
+ | **inc** | Create new increment (PM-led) | `/specweave inc "User auth"` |
29
+ | **build** | Execute tasks (auto-resumes) | `/specweave do` or `/specweave do 0001` |
30
+ | **next** | Smart transition (close + suggest) | `/specweave next` |
31
+ | **done** | Manual closure with PM validation | `/specweave done 0001` |
32
+ | **progress** | Check status and next action | `/specweave progress` |
33
+ | **validate** | Validate increment quality | `/specweave validate 0001` |
34
+
35
+ ### Integrations
36
+
37
+ | Subcommand | Description | Example |
38
+ |------------|-------------|---------|
39
+ | **sync-github** | Sync increment to GitHub issues | `/specweave sync-github 0001` |
40
+ | **sync-jira** | Sync increment to Jira epics/stories | `/specweave sync-jira import SCRUM-123` |
41
+
42
+ ---
43
+
44
+ ## Subcommand Routing
45
+
46
+ **IMPORTANT**: This command acts as a router. When invoked, it:
47
+
48
+ 1. **Parses the subcommand** from the first argument
49
+ 2. **Routes to the corresponding command** file
50
+ 3. **Passes remaining arguments** to the subcommand
51
+
52
+ ### Routing Table
53
+
54
+ ```yaml
55
+ subcommands:
56
+ inc: .claude/commands/specweave.inc.md
57
+ build: .claude/commands/specweave.do.md
58
+ next: .claude/commands/specweave.next.md
59
+ done: .claude/commands/specweave.done.md
60
+ progress: .claude/commands/specweave.progress.md
61
+ validate: .claude/commands/specweave.validate.md
62
+ sync-github: .claude/commands/specweave.sync-github.md
63
+ sync-jira: .claude/commands/specweave.sync-jira.md
64
+ ```
65
+
66
+ ---
67
+
68
+ ## Routing Logic
69
+
70
+ ### Step 1: Parse Subcommand
71
+
72
+ ```
73
+ Input: /specweave inc "User authentication"
74
+
75
+ Parse: subcommand = "inc"
76
+ arguments = ["User authentication"]
77
+ ```
78
+
79
+ ### Step 2: Validate Subcommand
80
+
81
+ ```
82
+ Known subcommands: [inc, build, next, done, progress, validate, sync-github, sync-jira]
83
+
84
+ If subcommand in known_subcommands:
85
+ Route to corresponding command
86
+ Else:
87
+ Show error with available subcommands
88
+ ```
89
+
90
+ ### Step 3: Route to Command
91
+
92
+ ```
93
+ Read file: .claude/commands/specweave.inc.md
94
+ Execute: Command content with arguments
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Examples
100
+
101
+ ### Example 1: Create Increment
102
+
103
+ **Input**:
104
+ ```bash
105
+ /specweave inc "User authentication"
106
+ ```
107
+
108
+ **Routing**:
109
+ ```
110
+ Parse: subcommand = "inc", args = ["User authentication"]
111
+ Route to: .claude/commands/specweave.inc.md
112
+ Execute: /specweave.inc "User authentication"
113
+ ```
114
+
115
+ ### Example 2: Build Current Increment
116
+
117
+ **Input**:
118
+ ```bash
119
+ /specweave do
120
+ ```
121
+
122
+ **Routing**:
123
+ ```
124
+ Parse: subcommand = "build", args = []
125
+ Route to: .claude/commands/specweave.do.md
126
+ Execute: /specweave.do (auto-finds active increment)
127
+ ```
128
+
129
+ ### Example 3: Smart Transition
130
+
131
+ **Input**:
132
+ ```bash
133
+ /specweave next
134
+ ```
135
+
136
+ **Routing**:
137
+ ```
138
+ Parse: subcommand = "next", args = []
139
+ Route to: .claude/commands/specweave.next.md
140
+ Execute: /specweave.next (validates, closes, suggests)
141
+ ```
142
+
143
+ ### Example 4: Invalid Subcommand
144
+
145
+ **Input**:
146
+ ```bash
147
+ /specweave invalid-command
148
+ ```
149
+
150
+ **Output**:
151
+ ```
152
+ ❌ Error: Unknown subcommand "invalid-command"
153
+
154
+ Available subcommands:
155
+ Increment Lifecycle:
156
+ inc - Create new increment
157
+ build - Execute tasks
158
+ next - Smart transition
159
+ done - Manual closure
160
+ progress - Check status
161
+ validate - Validate quality
162
+
163
+ Project Setup:
164
+ # Project initialization: use `specweave init` CLI command
165
+ sync-github - Sync to GitHub
166
+ sync-docs - Sync documentation (review/update)
167
+
168
+ Usage: /specweave <subcommand> [arguments]
169
+ Example: /specweave inc "User authentication"
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Implementation (For Command Processor)
175
+
176
+ ### Pseudocode
177
+
178
+ ```javascript
179
+ function handleSpecweaveCommand(rawInput) {
180
+ // Parse input
181
+ const parts = rawInput.split(' ');
182
+ const subcommand = parts[1]; // First arg after /specweave
183
+ const args = parts.slice(2); // Remaining args
184
+
185
+ // Routing table
186
+ const routes = {
187
+ 'inc': 'specweave.inc.md',
188
+ 'do': 'specweave.do.md',
189
+ 'next': 'specweave.next.md',
190
+ 'done': 'specweave.done.md',
191
+ 'progress': 'specweave.progress.md',
192
+ 'validate': 'specweave.validate.md',
193
+ 'sync-github': 'specweave.sync-github.md',
194
+ 'sync-docs': 'specweave.sync-docs.md'
195
+ };
196
+
197
+ // Validate subcommand
198
+ if (!routes[subcommand]) {
199
+ return showError(`Unknown subcommand "${subcommand}"`);
200
+ }
201
+
202
+ // Route to command
203
+ const commandFile = `.claude/commands/${routes[subcommand]}`;
204
+ return executeCommand(commandFile, args);
205
+ }
206
+ ```
207
+
208
+ ---
209
+
210
+ ## Why Namespacing?
211
+
212
+ ### Problem: Brownfield Collision
213
+
214
+ **Without namespacing**:
215
+ ```
216
+ User's project:
217
+ .claude/commands/do.md (their own build command)
218
+
219
+ SpecWeave installation:
220
+ .claude/commands/do.md (SpecWeave's build)
221
+
222
+ Result: ❌ COLLISION - User's command overwritten!
223
+ ```
224
+
225
+ **With namespacing**:
226
+ ```
227
+ User's project:
228
+ .claude/commands/do.md (their own build command)
229
+
230
+ SpecWeave installation:
231
+ .claude/commands/specweave.do.md (SpecWeave's build)
232
+ .claude/commands/specweave.md (master router)
233
+
234
+ Result: ✅ NO COLLISION - Both coexist!
235
+ ```
236
+
237
+ ### Benefits
238
+
239
+ 1. **No collisions** - SpecWeave commands never overwrite user commands
240
+ 2. **Clear ownership** - `specweave.*` notation shows it's framework command
241
+ 3. **Easy identification** - `/specweave` clearly indicates SpecWeave action
242
+ 4. **Brownfield safe** - Can install in any existing project
243
+ 5. **Uninstall clean** - Remove `specweave.*` files, user's files intact
244
+
245
+ ---
246
+
247
+ ## Backward Compatibility (Aliases)
248
+
249
+ For convenience, you can create aliases for shorter commands:
250
+
251
+ ### Option 1: Shell Aliases (in user's shell profile)
252
+
253
+ ```bash
254
+ # ~/.zshrc or ~/.bashrc
255
+ alias sw='/specweave' # /specweave → sw
256
+ alias swinc='sw inc' # /specweave inc → swinc
257
+ alias swbuild='sw build' # /specweave do → swbuild
258
+ alias swnext='sw next' # /specweave next → swnext
259
+ ```
260
+
261
+ **Usage**:
262
+ ```bash
263
+ sw inc "User auth" # Instead of /specweave inc
264
+ swbuild # Instead of /specweave do
265
+ swnext # Instead of /specweave next
266
+ ```
267
+
268
+ ### Option 2: Command Aliases (in .claude/config.yaml)
269
+
270
+ ```yaml
271
+ # .claude/config.yaml
272
+ command_aliases:
273
+ /inc: /specweave inc
274
+ /do: /specweave do
275
+ /next: /specweave next
276
+ /done: /specweave done
277
+ /progress: /specweave progress
278
+ ```
279
+
280
+ **Usage**:
281
+ ```bash
282
+ /inc "User auth" # Automatically routes to /specweave inc
283
+ /do # Automatically routes to /specweave do
284
+ /next # Automatically routes to /specweave next
285
+ ```
286
+
287
+ **IMPORTANT**: Aliases are opt-in. Default is always namespaced `/specweave` to ensure brownfield safety.
288
+
289
+ ---
290
+
291
+ ## Installation Behavior
292
+
293
+ ### Fresh Project (Greenfield)
294
+
295
+ ```bash
296
+ # No existing .claude/ directory
297
+ # Use: specweave init my-project (CLI command)
298
+
299
+ Result:
300
+ ✅ Creates .claude/commands/specweave*.md
301
+ ✅ Creates .specweave/ structure
302
+ ✅ No conflicts possible
303
+ ```
304
+
305
+ ### Existing Project (Brownfield)
306
+
307
+ ```bash
308
+ # Existing .claude/commands/do.md (user's)
309
+ # Use: specweave init my-project (CLI command)
310
+
311
+ Behavior:
312
+ 1. Detects existing .claude/ directory
313
+ 2. Backs up existing files:
314
+ .claude/commands/ → .claude/commands.backup-1698765432/
315
+ 3. Installs SpecWeave commands:
316
+ .claude/commands/specweave*.md
317
+ 4. Restores user's commands:
318
+ Copies non-conflicting files back
319
+ 5. Reports:
320
+ ✅ Installed SpecWeave commands
321
+ ✅ Backed up your commands to .claude/commands.backup-1698765432/
322
+ ℹ️ Your existing commands preserved (no overwrite)
323
+ ```
324
+
325
+ **Backup Structure**:
326
+ ```
327
+ .claude/
328
+ ├── commands/
329
+ │ ├── build.md (user's original - preserved)
330
+ │ ├── specweave.do.md (SpecWeave's - new)
331
+ │ ├── specweave.inc.md (SpecWeave's - new)
332
+ │ └── specweave.md (master router - new)
333
+ ├── commands.backup-1698765432/ (timestamped backup)
334
+ │ └── build.md (original backup)
335
+ └── skills/
336
+ └── ... (similar backup strategy)
337
+ ```
338
+
339
+ ---
340
+
341
+ ## Migration from Old Commands
342
+
343
+ If you have code/docs referencing old commands:
344
+
345
+ ### Find and Replace
346
+
347
+ ```bash
348
+ # Old → New
349
+ /inc → /specweave inc
350
+ /do → /specweave do
351
+ /next → /specweave next
352
+ /done → /specweave done
353
+ /progress → /specweave progress
354
+ /validate → /specweave validate
355
+ /sync-github → /specweave sync-github
356
+ /sync-docs → /specweave sync-docs
357
+ ```
358
+
359
+ ### Automated Migration Script
360
+
361
+ ```bash
362
+ # migrate-specweave-commands.sh
363
+ #!/bin/bash
364
+
365
+ echo "Migrating SpecWeave commands to namespaced versions..."
366
+
367
+ # Find all markdown files
368
+ find .specweave -type f -name "*.md" -exec sed -i '' \
369
+ -e 's|`/inc |`/specweave inc |g' \
370
+ -e 's|`/do|`/specweave do|g' \
371
+ -e 's|`/next|`/specweave next|g' \
372
+ -e 's|`/done|`/specweave done|g' \
373
+ -e 's|`/progress|`/specweave progress|g' \
374
+ {} \;
375
+
376
+ echo "✅ Migration complete!"
377
+ ```
378
+
379
+ ---
380
+
381
+ ## Help Command
382
+
383
+ ```bash
384
+ /specweave help
385
+ # or
386
+ /specweave --help
387
+ # or
388
+ /specweave (no args)
389
+ ```
390
+
391
+ **Output**:
392
+ ```
393
+ SpecWeave - Production-Ready Development Framework
394
+
395
+ Usage: /specweave <subcommand> [arguments]
396
+
397
+ Increment Lifecycle:
398
+ inc "feature" - Create new increment (PM-led planning)
399
+ do [id] - Execute tasks (auto-resumes from last incomplete)
400
+ next - Smart transition (validate, close, suggest next)
401
+ done <id> - Manual closure with PM validation
402
+ progress [id] - Check status, completion %, and next action
403
+ validate <id> - Validate increment quality
404
+
405
+ Project Setup:
406
+ # Use: specweave init (CLI command)
407
+ sync-github <id> - Sync increment to GitHub issues
408
+ sync-docs [mode] [id] - Sync documentation (review/update)
409
+
410
+ Examples:
411
+ /specweave inc "User authentication"
412
+ /specweave do
413
+ /specweave next
414
+ /specweave done 0001
415
+ /specweave progress
416
+
417
+ Documentation: https://spec-weave.com/docs
418
+ ```
419
+
420
+ ---
421
+
422
+ ## Related Documentation
423
+
424
+ - [Installation Guide](.specweave/docs/public/guides/getting-started/installation.md)
425
+ - [Brownfield Integration](.specweave/docs/internal/delivery/BROWNFIELD-INTEGRATION-STRATEGY.md)
426
+ - [Command Reference](.claude/commands/README.md)
427
+
428
+ ---
429
+
430
+ **Important**: Always use `/specweave` prefix to ensure brownfield compatibility and avoid command collisions!