specweave 0.6.8 → 0.7.1

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 (255) hide show
  1. package/.claude-plugin/README.md +1 -1
  2. package/CLAUDE.md +903 -99
  3. package/README.md +143 -207
  4. package/bin/specweave.js +67 -0
  5. package/dist/cli/commands/abandon.d.ts +13 -0
  6. package/dist/cli/commands/abandon.d.ts.map +1 -0
  7. package/dist/cli/commands/abandon.js +15 -0
  8. package/dist/cli/commands/abandon.js.map +1 -0
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +94 -18
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/pause.d.ts +13 -0
  13. package/dist/cli/commands/pause.d.ts.map +1 -0
  14. package/dist/cli/commands/pause.js +15 -0
  15. package/dist/cli/commands/pause.js.map +1 -0
  16. package/dist/cli/commands/qa.d.ts +54 -0
  17. package/dist/cli/commands/qa.d.ts.map +1 -0
  18. package/dist/cli/commands/qa.js +98 -0
  19. package/dist/cli/commands/qa.js.map +1 -0
  20. package/dist/cli/commands/resume.d.ts +12 -0
  21. package/dist/cli/commands/resume.d.ts.map +1 -0
  22. package/dist/cli/commands/resume.js +14 -0
  23. package/dist/cli/commands/resume.js.map +1 -0
  24. package/dist/cli/commands/status.d.ts +12 -0
  25. package/dist/cli/commands/status.d.ts.map +1 -0
  26. package/dist/cli/commands/status.js +23 -0
  27. package/dist/cli/commands/status.js.map +1 -0
  28. package/dist/cli/helpers/issue-tracker/ado.d.ts +57 -0
  29. package/dist/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
  30. package/dist/cli/helpers/issue-tracker/ado.js +223 -0
  31. package/dist/cli/helpers/issue-tracker/ado.js.map +1 -0
  32. package/dist/cli/helpers/issue-tracker/github.d.ts +65 -0
  33. package/dist/cli/helpers/issue-tracker/github.d.ts.map +1 -0
  34. package/dist/cli/helpers/issue-tracker/github.js +284 -0
  35. package/dist/cli/helpers/issue-tracker/github.js.map +1 -0
  36. package/dist/cli/helpers/issue-tracker/index.d.ts +22 -0
  37. package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -0
  38. package/dist/cli/helpers/issue-tracker/index.js +270 -0
  39. package/dist/cli/helpers/issue-tracker/index.js.map +1 -0
  40. package/dist/cli/helpers/issue-tracker/jira.d.ts +61 -0
  41. package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
  42. package/dist/cli/helpers/issue-tracker/jira.js +265 -0
  43. package/dist/cli/helpers/issue-tracker/jira.js.map +1 -0
  44. package/dist/cli/helpers/issue-tracker/types.d.ts +86 -0
  45. package/dist/cli/helpers/issue-tracker/types.d.ts.map +1 -0
  46. package/dist/cli/helpers/issue-tracker/types.js +16 -0
  47. package/dist/cli/helpers/issue-tracker/types.js.map +1 -0
  48. package/dist/cli/helpers/issue-tracker/utils.d.ts +103 -0
  49. package/dist/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
  50. package/dist/cli/helpers/issue-tracker/utils.js +240 -0
  51. package/dist/cli/helpers/issue-tracker/utils.js.map +1 -0
  52. package/dist/core/increment/limits.d.ts +68 -0
  53. package/dist/core/increment/limits.d.ts.map +1 -0
  54. package/dist/core/increment/limits.js +224 -0
  55. package/dist/core/increment/limits.js.map +1 -0
  56. package/dist/core/increment/metadata-manager.d.ts +114 -0
  57. package/dist/core/increment/metadata-manager.d.ts.map +1 -0
  58. package/dist/core/increment/metadata-manager.js +320 -0
  59. package/dist/core/increment/metadata-manager.js.map +1 -0
  60. package/dist/core/increment/status-commands.d.ts +43 -0
  61. package/dist/core/increment/status-commands.d.ts.map +1 -0
  62. package/dist/core/increment/status-commands.js +277 -0
  63. package/dist/core/increment/status-commands.js.map +1 -0
  64. package/dist/core/plugin-detector.d.ts +1 -0
  65. package/dist/core/plugin-detector.d.ts.map +1 -1
  66. package/dist/core/plugin-detector.js +25 -0
  67. package/dist/core/plugin-detector.js.map +1 -1
  68. package/dist/core/qa/qa-runner.d.ts +16 -0
  69. package/dist/core/qa/qa-runner.d.ts.map +1 -0
  70. package/dist/core/qa/qa-runner.js +404 -0
  71. package/dist/core/qa/qa-runner.js.map +1 -0
  72. package/dist/core/qa/quality-gate-decider.d.ts +53 -0
  73. package/dist/core/qa/quality-gate-decider.d.ts.map +1 -0
  74. package/dist/core/qa/quality-gate-decider.js +268 -0
  75. package/dist/core/qa/quality-gate-decider.js.map +1 -0
  76. package/dist/core/qa/risk-calculator.d.ts +126 -0
  77. package/dist/core/qa/risk-calculator.d.ts.map +1 -0
  78. package/dist/core/qa/risk-calculator.js +247 -0
  79. package/dist/core/qa/risk-calculator.js.map +1 -0
  80. package/dist/core/qa/types.d.ts +315 -0
  81. package/dist/core/qa/types.d.ts.map +1 -0
  82. package/dist/core/qa/types.js +8 -0
  83. package/dist/core/qa/types.js.map +1 -0
  84. package/dist/core/types/config.d.ts +35 -0
  85. package/dist/core/types/config.d.ts.map +1 -1
  86. package/dist/core/types/config.js +16 -0
  87. package/dist/core/types/config.js.map +1 -1
  88. package/dist/core/types/increment-metadata.d.ts +120 -0
  89. package/dist/core/types/increment-metadata.d.ts.map +1 -0
  90. package/dist/core/types/increment-metadata.js +138 -0
  91. package/dist/core/types/increment-metadata.js.map +1 -0
  92. package/dist/hooks/lib/invoke-translator-skill.d.ts +60 -0
  93. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
  94. package/dist/hooks/lib/invoke-translator-skill.js +201 -0
  95. package/dist/hooks/lib/invoke-translator-skill.js.map +1 -0
  96. package/dist/hooks/lib/translate-file.d.ts +59 -0
  97. package/dist/hooks/lib/translate-file.d.ts.map +1 -0
  98. package/dist/hooks/lib/translate-file.js +350 -0
  99. package/dist/hooks/lib/translate-file.js.map +1 -0
  100. package/dist/locales/en/cli.json +3 -1
  101. package/dist/metrics/calculators/change-failure-rate.d.ts +22 -0
  102. package/dist/metrics/calculators/change-failure-rate.d.ts.map +1 -0
  103. package/dist/metrics/calculators/change-failure-rate.js +70 -0
  104. package/dist/metrics/calculators/change-failure-rate.js.map +1 -0
  105. package/dist/metrics/calculators/deployment-frequency.d.ts +20 -0
  106. package/dist/metrics/calculators/deployment-frequency.d.ts.map +1 -0
  107. package/dist/metrics/calculators/deployment-frequency.js +61 -0
  108. package/dist/metrics/calculators/deployment-frequency.js.map +1 -0
  109. package/dist/metrics/calculators/lead-time.d.ts +22 -0
  110. package/dist/metrics/calculators/lead-time.d.ts.map +1 -0
  111. package/dist/metrics/calculators/lead-time.js +82 -0
  112. package/dist/metrics/calculators/lead-time.js.map +1 -0
  113. package/dist/metrics/calculators/mttr.d.ts +21 -0
  114. package/dist/metrics/calculators/mttr.d.ts.map +1 -0
  115. package/dist/metrics/calculators/mttr.js +60 -0
  116. package/dist/metrics/calculators/mttr.js.map +1 -0
  117. package/dist/metrics/dora-calculator.d.ts +24 -0
  118. package/dist/metrics/dora-calculator.d.ts.map +1 -0
  119. package/dist/metrics/dora-calculator.js +104 -0
  120. package/dist/metrics/dora-calculator.js.map +1 -0
  121. package/dist/metrics/github-client.d.ts +51 -0
  122. package/dist/metrics/github-client.d.ts.map +1 -0
  123. package/dist/metrics/github-client.js +133 -0
  124. package/dist/metrics/github-client.js.map +1 -0
  125. package/dist/metrics/types.d.ts +112 -0
  126. package/dist/metrics/types.d.ts.map +1 -0
  127. package/dist/metrics/types.js +10 -0
  128. package/dist/metrics/types.js.map +1 -0
  129. package/dist/metrics/utils/percentile.d.ts +25 -0
  130. package/dist/metrics/utils/percentile.d.ts.map +1 -0
  131. package/dist/metrics/utils/percentile.js +46 -0
  132. package/dist/metrics/utils/percentile.js.map +1 -0
  133. package/dist/metrics/utils/tier-classifier.d.ts +61 -0
  134. package/dist/metrics/utils/tier-classifier.d.ts.map +1 -0
  135. package/dist/metrics/utils/tier-classifier.js +100 -0
  136. package/dist/metrics/utils/tier-classifier.js.map +1 -0
  137. package/dist/utils/auth-helpers.d.ts +58 -0
  138. package/dist/utils/auth-helpers.d.ts.map +1 -0
  139. package/dist/utils/auth-helpers.js +108 -0
  140. package/dist/utils/auth-helpers.js.map +1 -0
  141. package/dist/utils/env-file.d.ts +88 -0
  142. package/dist/utils/env-file.d.ts.map +1 -0
  143. package/dist/utils/env-file.js +180 -0
  144. package/dist/utils/env-file.js.map +1 -0
  145. package/dist/utils/plugin-detection.d.ts +50 -0
  146. package/dist/utils/plugin-detection.d.ts.map +1 -0
  147. package/dist/utils/plugin-detection.js +229 -0
  148. package/dist/utils/plugin-detection.js.map +1 -0
  149. package/dist/utils/secrets-loader.d.ts +88 -0
  150. package/dist/utils/secrets-loader.d.ts.map +1 -0
  151. package/dist/utils/secrets-loader.js +271 -0
  152. package/dist/utils/secrets-loader.js.map +1 -0
  153. package/dist/utils/translation.d.ts +187 -0
  154. package/dist/utils/translation.d.ts.map +1 -0
  155. package/dist/utils/translation.js +414 -0
  156. package/dist/utils/translation.js.map +1 -0
  157. package/package.json +28 -44
  158. package/plugins/specweave/.claude-plugin/plugin.json +3 -3
  159. package/plugins/specweave/agents/pm/AGENT.md +330 -54
  160. package/plugins/specweave/agents/test-aware-planner/AGENT.md +1035 -0
  161. package/plugins/specweave/agents/test-aware-planner/templates/README.md +118 -0
  162. package/plugins/specweave/agents/test-aware-planner/templates/task-non-testable.md.template +24 -0
  163. package/plugins/specweave/agents/test-aware-planner/templates/task-testable.md.template +53 -0
  164. package/plugins/specweave/agents/test-aware-planner/templates/tasks-frontmatter.md.template +11 -0
  165. package/plugins/specweave/commands/README.md +88 -163
  166. package/plugins/specweave/commands/specweave-abandon.md +314 -0
  167. package/plugins/specweave/commands/specweave-check-tests.md +546 -0
  168. package/plugins/specweave/commands/{do.md → specweave-do.md} +5 -7
  169. package/plugins/specweave/commands/{increment.md → specweave-increment.md} +231 -4
  170. package/plugins/specweave/commands/specweave-pause.md +189 -0
  171. package/plugins/specweave/commands/specweave-qa.md +245 -0
  172. package/plugins/specweave/commands/specweave-resume.md +216 -0
  173. package/plugins/specweave/commands/specweave-status.md +397 -0
  174. package/plugins/specweave/commands/specweave-sync-tasks.md +256 -0
  175. package/plugins/specweave/commands/{translate.md → specweave-translate.md} +3 -3
  176. package/plugins/specweave/commands/specweave-update-scope.md +351 -0
  177. package/plugins/specweave/commands/specweave.md +21 -21
  178. package/plugins/specweave/hooks/post-increment-planning.sh +335 -0
  179. package/plugins/specweave/hooks/post-task-completion.sh +141 -0
  180. package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
  181. package/plugins/specweave/skills/brownfield-analyzer/SKILL.md +9 -9
  182. package/plugins/specweave/skills/increment-planner/SKILL.md +400 -212
  183. package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +499 -0
  184. package/plugins/specweave/skills/plugin-detector/SKILL.md +114 -1
  185. package/plugins/specweave/skills/project-kickstarter/SKILL.md +74 -1
  186. package/plugins/specweave/skills/{rfc-generator → spec-generator}/SKILL.md +22 -29
  187. package/plugins/specweave/skills/specweave-detector/SKILL.md +3 -3
  188. package/plugins/specweave/skills/specweave-framework/SKILL.md +2 -2
  189. package/plugins/specweave-ado/.claude-plugin/plugin.json +18 -4
  190. package/plugins/specweave-ado/agents/ado-manager/AGENT.md +426 -0
  191. package/plugins/specweave-ado/commands/close-workitem.md +52 -0
  192. package/plugins/specweave-ado/commands/create-workitem.md +53 -0
  193. package/plugins/specweave-ado/commands/status.md +53 -0
  194. package/plugins/specweave-ado/commands/sync.md +55 -0
  195. package/plugins/specweave-ado/lib/ado-client.ts +361 -0
  196. package/plugins/specweave-ado/reference/ado-specweave-mapping.md +552 -0
  197. package/plugins/specweave-ado/skills/ado-sync/SKILL.md +344 -193
  198. package/plugins/specweave-docs/skills/docusaurus/SKILL.md +73 -0
  199. package/plugins/specweave-github/agents/github-manager/AGENT.md +49 -0
  200. package/plugins/specweave-github/commands/{github-close-issue.md → close-issue.md} +1 -1
  201. package/plugins/specweave-github/commands/{github-create-issue.md → create-issue.md} +1 -1
  202. package/plugins/specweave-github/commands/{github-status.md → status.md} +1 -1
  203. package/plugins/specweave-github/commands/{github-sync-tasks.md → sync-tasks.md} +1 -1
  204. package/plugins/specweave-github/commands/{github-sync.md → sync.md} +1 -1
  205. package/plugins/specweave-github/reference/github-specweave-mapping.md +377 -0
  206. package/plugins/specweave-github/skills/github-sync/SKILL.md +11 -3
  207. package/plugins/specweave-infrastructure/commands/{specweave.monitor-setup.md → monitor-setup.md} +5 -0
  208. package/plugins/specweave-infrastructure/commands/{specweave.slo-implement.md → slo-implement.md} +5 -0
  209. package/plugins/specweave-jira/agents/jira-manager/AGENT.md +380 -0
  210. package/plugins/specweave-jira/commands/{specweave.sync-jira.md → sync.md} +1 -1
  211. package/plugins/specweave-jira/reference/jira-specweave-mapping.md +508 -0
  212. package/plugins/specweave-ml/commands/ml-deploy.md +1 -1
  213. package/plugins/specweave-ml/commands/ml-evaluate.md +1 -1
  214. package/plugins/specweave-ml/commands/ml-explain.md +1 -1
  215. package/plugins/specweave-ml/commands/{specweave.ml-pipeline.md → ml-pipeline.md} +5 -0
  216. package/src/templates/AGENTS.md.template +331 -31
  217. package/src/templates/CLAUDE.md.template +36 -21
  218. package/src/templates/COMPLETION-REPORT.template.md +128 -0
  219. package/src/templates/README.md.template +17 -16
  220. package/src/templates/docs/README.md +11 -9
  221. package/src/templates/docs/spec-template.md +229 -0
  222. package/plugins/specweave/commands/inc.md +0 -85
  223. package/plugins/specweave/commands/list-increments.md +0 -180
  224. package/src/adapters/README.md +0 -275
  225. package/src/adapters/adapter-base.ts +0 -182
  226. package/src/adapters/adapter-interface.ts +0 -166
  227. package/src/adapters/adapter-loader.ts +0 -256
  228. package/src/adapters/agents-md-generator.ts +0 -228
  229. package/src/adapters/claude/README.md +0 -233
  230. package/src/adapters/claude/adapter.ts +0 -468
  231. package/src/adapters/claude-md-generator.ts +0 -377
  232. package/src/adapters/codex/README.md +0 -105
  233. package/src/adapters/codex/adapter.ts +0 -333
  234. package/src/adapters/cursor/.cursor/context/docs-context.md +0 -62
  235. package/src/adapters/cursor/.cursor/context/increments-context.md +0 -71
  236. package/src/adapters/cursor/.cursor/context/strategy-context.md +0 -73
  237. package/src/adapters/cursor/.cursor/context/tests-context.md +0 -89
  238. package/src/adapters/cursor/README.md +0 -283
  239. package/src/adapters/cursor/adapter.ts +0 -451
  240. package/src/adapters/doc-generator.ts +0 -331
  241. package/src/adapters/gemini/README.md +0 -97
  242. package/src/adapters/gemini/adapter.ts +0 -298
  243. package/src/adapters/generic/README.md +0 -277
  244. package/src/adapters/generic/adapter.ts +0 -378
  245. package/src/adapters/registry.yaml +0 -187
  246. /package/plugins/specweave/commands/{costs.md → specweave-costs.md} +0 -0
  247. /package/plugins/specweave/commands/{done.md → specweave-done.md} +0 -0
  248. /package/plugins/specweave/commands/{next.md → specweave-next.md} +0 -0
  249. /package/plugins/specweave/commands/{progress.md → specweave-progress.md} +0 -0
  250. /package/plugins/specweave/commands/{sync-docs.md → specweave-sync-docs.md} +0 -0
  251. /package/plugins/specweave/commands/{tdd-cycle.md → specweave-tdd-cycle.md} +0 -0
  252. /package/plugins/specweave/commands/{tdd-green.md → specweave-tdd-green.md} +0 -0
  253. /package/plugins/specweave/commands/{tdd-red.md → specweave-tdd-red.md} +0 -0
  254. /package/plugins/specweave/commands/{tdd-refactor.md → specweave-tdd-refactor.md} +0 -0
  255. /package/plugins/specweave/commands/{validate.md → specweave-validate.md} +0 -0
@@ -14,16 +14,16 @@ Your project is initialized! Now describe what you want to build.
14
14
 
15
15
  ```bash
16
16
  # Plan a new feature
17
- /inc "user authentication with JWT"
17
+ /specweave:increment "user authentication with JWT"
18
18
 
19
19
  # Execute the implementation
20
- /do
20
+ /specweave:do
21
21
 
22
22
  # Check progress
23
- /progress
23
+ /specweave:progress
24
24
 
25
25
  # Close when done
26
- /done 0001
26
+ /specweave:done 0001
27
27
  ```
28
28
 
29
29
  3. **Or describe your project** in natural language (works with slash command workflows):
@@ -42,7 +42,7 @@ Your project is initialized! Now describe what you want to build.
42
42
  - Guide implementation
43
43
  - Generate tests
44
44
 
45
- That's it! All components ready - just use `/inc` to start!
45
+ That's it! All components ready - just use `/specweave:increment` to start!
46
46
 
47
47
  ---
48
48
 
@@ -51,7 +51,8 @@ That's it! All components ready - just use `/inc` to start!
51
51
  ```
52
52
  {{PROJECT_NAME}}/
53
53
  ├── .specweave/ # SpecWeave framework
54
- │ ├── increments/ # Features (created via /inc)
54
+ │ ├── config.json # Project configuration
55
+ │ ├── increments/ # Features (created via /specweave:increment)
55
56
  │ │ └── 0001-feature/
56
57
  │ │ ├── spec.md # WHAT & WHY
57
58
  │ │ ├── plan.md # HOW
@@ -78,7 +79,7 @@ That's it! All components ready - just use `/inc` to start!
78
79
 
79
80
  SpecWeave is a specification-first development framework where:
80
81
  - **Specifications are the source of truth** (code follows specs, not reverse)
81
- - **Slash commands drive workflow** (`/inc` → `/do` → `/done`)
82
+ - **Slash commands drive workflow** (`/specweave:increment` → `/specweave:do` → `/specweave:done`)
82
83
  - **AI agents work autonomously** (PM, Architect, Security, QA, DevOps)
83
84
  - **All components pre-installed** (10 agents + 35+ skills ready!)
84
85
  - **Works with ANY tech stack** (TypeScript, Python, Go, Rust, Java, .NET, etc.)
@@ -89,18 +90,18 @@ SpecWeave is a specification-first development framework where:
89
90
  ## 🔧 Core Workflow
90
91
 
91
92
  ```
92
- /inc "feature" → /do → /progress → /done → repeat
93
+ /specweave:increment "feature" → /specweave:do → /specweave:progress → /specweave:done → repeat
93
94
  ```
94
95
 
95
96
  | Command | Purpose | When to Use |
96
97
  |---------|---------|-------------|
97
- | `/inc "feature"` | Plan new increment | Starting new feature |
98
- | `/do` | Execute tasks | Ready to implement |
99
- | `/progress` | Check status | Want to see progress |
100
- | `/validate 0001` | Validate quality | Before completion |
101
- | `/done 0001` | Close increment | Feature finished |
102
- | `/sync-github` | Sync to GitHub | Export to issues |
103
- | `/sync-jira` | Sync to Jira | Export to Jira |
98
+ | `/specweave:increment "feature"` | Plan new increment | Starting new feature |
99
+ | `/specweave:do` | Execute tasks | Ready to implement |
100
+ | `/specweave:progress` | Check status | Want to see progress |
101
+ | `/specweave:validate 0001` | Validate quality | Before completion |
102
+ | `/specweave:done 0001` | Close increment | Feature finished |
103
+ | `/specweave:sync-github` | Sync to GitHub | Export to issues |
104
+ | `/specweave:sync-jira` | Sync to Jira | Export to Jira |
104
105
 
105
106
  See `CLAUDE.md` for complete workflow guide.
106
107
 
@@ -152,7 +153,7 @@ SpecWeave works with:
152
153
 
153
154
  **Start with your first feature**:
154
155
  ```bash
155
- /inc "describe your feature here"
156
+ /specweave:increment "describe your feature here"
156
157
  ```
157
158
 
158
159
  Or just describe what you want to build, and SpecWeave will guide you through the process! 🚀
@@ -1,6 +1,6 @@
1
1
  # Document Templates
2
2
 
3
- This directory contains templates for all standard document types in the PRD/HLD/RFC/Runbook pattern.
3
+ This directory contains templates for all standard document types in the PRD/HLD/Spec/Runbook pattern.
4
4
 
5
5
  ## Available Templates
6
6
 
@@ -27,15 +27,16 @@ This directory contains templates for all standard document types in the PRD/HLD
27
27
  cp templates/docs/adr-template.md docs/internal/architecture/adr/${NEXT}-decision-title.md
28
28
  ```
29
29
 
30
- - **`rfc-template.md`** - Request for Comments
30
+ - **`spec-template.md`** - Specification (formerly RFC)
31
31
  - **Purpose**: Propose API designs, schema changes, major features
32
- - **Location**: `docs/internal/architecture/rfc/0001-feature-title.md`
32
+ - **Location**: `docs/internal/specs/spec-0001-feature-title/spec.md`
33
33
  - **Format**: Sequential numbering (0001, 0002, etc.)
34
34
  - **Usage**:
35
35
  ```bash
36
36
  # Find next number
37
- NEXT=$(printf "%04d" $(($(ls docs/internal/architecture/rfc/ | grep -E '^[0-9]{4}' | tail -1 | cut -d'-' -f1) + 1)))
38
- cp templates/docs/rfc-template.md docs/internal/architecture/rfc/${NEXT}-feature-title.md
37
+ NEXT=$(printf "%04d" $(($(ls docs/internal/specs/ | grep -E '^spec-[0-9]{4}' | tail -1 | cut -d'-' -f2) + 1)))
38
+ mkdir -p docs/internal/specs/spec-${NEXT}-feature-title
39
+ cp templates/docs/spec-template.md docs/internal/specs/spec-${NEXT}-feature-title/spec.md
39
40
  ```
40
41
 
41
42
  ### Operations Documents
@@ -66,10 +67,11 @@ This directory contains templates for all standard document types in the PRD/HLD
66
67
  cp templates/docs/adr-template.md docs/internal/architecture/adr/${NEXT}-use-postgresql.md
67
68
  ```
68
69
 
69
- 4. **Create RFC** (for API design):
70
+ 4. **Create Spec** (for API design):
70
71
  ```bash
71
- NEXT=$(printf "%04d" $(($(ls docs/internal/architecture/rfc/ 2>/dev/null | grep -E '^[0-9]{4}' | tail -1 | cut -d'-' -f1 | sed 's/^0*//' || echo 0) + 1)))
72
- cp templates/docs/rfc-template.md docs/internal/architecture/rfc/${NEXT}-booking-api.md
72
+ NEXT=$(printf "%04d" $(($(ls docs/internal/specs/ 2>/dev/null | grep -E '^spec-[0-9]{4}' | tail -1 | cut -d'-' -f2 | sed 's/^0*//' || echo 0) + 1)))
73
+ mkdir -p docs/internal/specs/spec-${NEXT}-booking-api
74
+ cp templates/docs/spec-template.md docs/internal/specs/spec-${NEXT}-booking-api/spec.md
73
75
  ```
74
76
 
75
77
  5. **Create Runbook** (Operations):
@@ -94,7 +96,7 @@ This directory contains templates for all standard document types in the PRD/HLD
94
96
  ### Cross-Link Documents
95
97
  - PRD → HLD (link from PRD to HLD)
96
98
  - HLD → ADR (link to all relevant ADRs)
97
- - RFC → HLD (link from RFC to HLD)
99
+ - Spec → HLD (link from spec to HLD)
98
100
  - Runbook → HLD (link from runbook to architecture)
99
101
 
100
102
  ### Use Diagrams
@@ -0,0 +1,229 @@
1
+ # SPEC 0001: [Feature Title]
2
+
3
+ **Status**: draft | review | approved | deprecated
4
+ **Author**: [Your Name]
5
+ **Created**: YYYY-MM-DD
6
+ **Last Updated**: YYYY-MM-DD
7
+ **Reviewers**: @architect, @tech-lead, @security
8
+
9
+ ---
10
+
11
+ ## Summary
12
+
13
+ **One-sentence description**
14
+
15
+ [Brief description of what this spec proposes]
16
+
17
+ ## Motivation
18
+
19
+ **Why is this needed?**
20
+
21
+ Explain the problem and why this specification is necessary:
22
+ - What problem does this solve?
23
+ - What user needs does it address?
24
+ - What business value does it provide?
25
+
26
+ **Link to PRD**: [PRD: Feature Name](../../strategy/prd-{feature}.md)
27
+
28
+ ## Proposal (API / Schema / Flow)
29
+
30
+ **What are we proposing?**
31
+
32
+ ### API Design
33
+
34
+ **Endpoint**: `POST /api/v1/{resource}`
35
+
36
+ **Request**:
37
+ ```json
38
+ {
39
+ "field1": "value",
40
+ "field2": 123,
41
+ "field3": {
42
+ "nested": "object"
43
+ }
44
+ }
45
+ ```
46
+
47
+ **Response**:
48
+ ```json
49
+ {
50
+ "id": "uuid",
51
+ "field1": "value",
52
+ "field2": 123,
53
+ "created_at": "2025-01-01T00:00:00Z"
54
+ }
55
+ ```
56
+
57
+ **Status Codes**:
58
+ - `200 OK`: Success
59
+ - `400 Bad Request`: Invalid input
60
+ - `401 Unauthorized`: Not authenticated
61
+ - `403 Forbidden`: Not authorized
62
+ - `500 Internal Server Error`: Server error
63
+
64
+ ### Data Schema
65
+
66
+ **Database Schema**:
67
+ ```sql
68
+ CREATE TABLE resource (
69
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
70
+ field1 VARCHAR(255) NOT NULL,
71
+ field2 INTEGER NOT NULL,
72
+ created_at TIMESTAMP NOT NULL DEFAULT NOW(),
73
+ updated_at TIMESTAMP NOT NULL DEFAULT NOW()
74
+ );
75
+ ```
76
+
77
+ ### Flow Diagram
78
+
79
+ **Process Flow**:
80
+ ```mermaid
81
+ sequenceDiagram
82
+ participant Client
83
+ participant API
84
+ participant Service
85
+ participant Database
86
+
87
+ Client->>API: POST /api/v1/resource
88
+ API->>API: Validate request
89
+ API->>Service: Process request
90
+ Service->>Database: Insert record
91
+ Database-->>Service: Return ID
92
+ Service-->>API: Return response
93
+ API-->>Client: 200 OK
94
+ ```
95
+
96
+ ## Backwards Compatibility
97
+
98
+ **Breaking changes?**
99
+
100
+ - [ ] **No breaking changes** - Fully backwards compatible
101
+ - [ ] **Breaking changes** - Describe impact:
102
+ - Change 1: Impact and migration plan
103
+ - Change 2: Impact and migration plan
104
+
105
+ **Migration Strategy**:
106
+ - How will existing clients be migrated?
107
+ - What is the deprecation timeline?
108
+ - Are there versioned endpoints?
109
+
110
+ ## Rollout Plan
111
+
112
+ **How to deploy?**
113
+
114
+ ### Phase 1: Development
115
+ - [ ] Implement feature
116
+ - [ ] Write unit tests
117
+ - [ ] Write integration tests
118
+
119
+ ### Phase 2: Testing
120
+ - [ ] Deploy to staging
121
+ - [ ] QA testing
122
+ - [ ] Performance testing
123
+ - [ ] Security testing
124
+
125
+ ### Phase 3: Production Rollout
126
+ - [ ] Deploy to production
127
+ - [ ] Feature flag (if applicable): `feature_{name}_enabled`
128
+ - [ ] Gradual rollout: 5% → 25% → 50% → 100%
129
+ - [ ] Monitor metrics
130
+
131
+ ### Rollback Plan
132
+ - How to rollback if issues occur?
133
+ - What are the rollback criteria?
134
+
135
+ ## Observability & SLO Impact
136
+
137
+ **Monitoring and performance**
138
+
139
+ ### Metrics
140
+ - **Latency**: p95 < XXms, p99 < XXms
141
+ - **Throughput**: XX req/sec
142
+ - **Error Rate**: < X%
143
+ - **Availability**: XX% uptime
144
+
145
+ ### Logging
146
+ - Log all requests/responses (excluding sensitive data)
147
+ - Log errors with stack traces
148
+ - Log performance metrics
149
+
150
+ ### Alerting
151
+ - Alert if latency > XXms
152
+ - Alert if error rate > X%
153
+ - Alert if availability < XX%
154
+
155
+ ### Dashboards
156
+ - Create Grafana dashboard for this feature
157
+ - Link: [Dashboard URL]
158
+
159
+ ## Security / Compliance Considerations
160
+
161
+ **Risks and mitigations**
162
+
163
+ ### Security
164
+ - **Authentication**: How is the API authenticated?
165
+ - **Authorization**: Who can access this API?
166
+ - **Input Validation**: How is input validated?
167
+ - **Data Encryption**: Is data encrypted in transit/at rest?
168
+ - **Rate Limiting**: What are the rate limits?
169
+
170
+ ### Compliance
171
+ - **GDPR**: Does this handle PII? How is data deleted?
172
+ - **HIPAA**: (if applicable) Does this handle PHI?
173
+ - **SOC 2**: Are access controls in place?
174
+
175
+ ### Threat Model
176
+ - **Threat 1**: Description
177
+ - **Mitigation**: How we address it
178
+ - **Threat 2**: Description
179
+ - **Mitigation**: How we address it
180
+
181
+ ## Alternatives
182
+
183
+ **Other approaches considered**
184
+
185
+ ### Alternative 1: [Name]
186
+ - **Description**: What is it?
187
+ - **Pros**: Benefits
188
+ - **Cons**: Drawbacks
189
+ - **Why not chosen**: Reason
190
+
191
+ ### Alternative 2: [Name]
192
+ - **Description**: What is it?
193
+ - **Pros**: Benefits
194
+ - **Cons**: Drawbacks
195
+ - **Why not chosen**: Reason
196
+
197
+ ## Decision & Next Steps
198
+
199
+ **Outcome and action items**
200
+
201
+ ### Decision
202
+ - [ ] **Approved** - Proceed with implementation
203
+ - [ ] **Rejected** - Do not proceed
204
+ - [ ] **Deferred** - Revisit later
205
+
206
+ ### Next Steps
207
+ - [ ] Create implementation tasks
208
+ - [ ] Assign owners
209
+ - [ ] Set timeline
210
+ - [ ] Update roadmap
211
+
212
+ ### Action Items
213
+ - [ ] **Task 1**: Description - Owner: @name - Due: YYYY-MM-DD
214
+ - [ ] **Task 2**: Description - Owner: @name - Due: YYYY-MM-DD
215
+
216
+ ## Related Documentation
217
+
218
+ - [PRD: Product Requirements](../../strategy/prd-{feature}.md)
219
+ - [HLD: System Design](../hld-{system}.md)
220
+ - [ADR: Architecture Decisions](../adr/)
221
+ - [Runbook: Operations](../../operations/runbook-{service}.md)
222
+
223
+ ---
224
+
225
+ **Approval**:
226
+ - [ ] Architect: @name
227
+ - [ ] Tech Lead: @name
228
+ - [ ] Security: @name
229
+ - [ ] Product Owner: @name
@@ -1,85 +0,0 @@
1
- ---
2
- name: inc
3
- description: Shorthand for /increment - Plan new Product Increment (PM-led process)
4
- ---
5
-
6
- # Plan Product Increment (Quick Alias)
7
-
8
- **⚡ Quick Alias**: This is a shorthand for `/increment`.
9
-
10
- This is the **most frequently used command** in SpecWeave's append-only increment workflow. Every new feature starts here.
11
-
12
- ---
13
-
14
- ## Why This Alias Exists
15
-
16
- In an append-only increment workflow:
17
- - `/increment` is your starting point for ALL new work
18
- - You'll use it dozens/hundreds of times
19
- - Short alias saves time and mental overhead
20
- - Other commands are used less frequently (no aliases needed)
21
-
22
- ---
23
-
24
- ## Usage
25
-
26
- ```bash
27
- /inc "feature description"
28
- ```
29
-
30
- **Examples**:
31
- ```bash
32
- /inc "User authentication with JWT"
33
- /inc "Payment processing with Stripe"
34
- /inc "Real-time notifications"
35
- ```
36
-
37
- ---
38
-
39
- ## What This Does
40
-
41
- Runs the full `/increment` command, which:
42
-
43
- 1. **Detects tech stack** (TypeScript, Python, Go, etc.)
44
- 2. **PM-led planning**:
45
- - Market research
46
- - Create spec.md (WHAT & WHY)
47
- - Create plan.md (HOW)
48
- - **Auto-generate tasks.md** from plan
49
- - Create tests.md (test strategy)
50
- 3. **Strategic agent review**:
51
- - Architect designs system
52
- - Security reviews threats
53
- - QA defines test strategy
54
- - DevOps plans infrastructure
55
- 4. **User review checkpoint**
56
- 5. **Ready to build**: `/do 0001`
57
-
58
- ---
59
-
60
- ## Typical Workflow
61
-
62
- ```bash
63
- # 1. Plan increment (most common command - use alias!)
64
- /inc "User authentication"
65
-
66
- # 2. Review generated docs
67
- # spec.md, plan.md, tasks.md, tests.md
68
-
69
- # 3. Build it
70
- /do 0001
71
-
72
- # 4. Validate quality (optional)
73
- /validate 0001 --quality
74
-
75
- # 5. Close when done
76
- /done 0001
77
- ```
78
-
79
- ---
80
-
81
- **💡 Pro Tip**: Common commands have convenient short forms: `/inc`, `/do`, `/done`, `/validate`. For explicit namespacing or to avoid conflicts in brownfield projects, use `/specweave:inc`, `/specweave:do`, `/specweave:done`, `/specweave:validate`.
82
-
83
- ---
84
-
85
- For complete documentation, see `/increment`.
@@ -1,180 +0,0 @@
1
- # /list-increments - View All Increments
2
-
3
- **Command**: `/list-increments [options]`
4
-
5
- **Purpose**: View all increments with status, completion, and WIP tracking
6
-
7
- **Framework**: Framework-agnostic (works with all tech stacks)
8
-
9
- ---
10
-
11
- ## Usage
12
-
13
- ```bash
14
- /list-increments # All increments
15
- /list-increments --status in-progress # Filter by status
16
- /list-increments --priority P1 # Filter by priority
17
- /list-increments --verbose # Include task details
18
- ```
19
-
20
- ## Arguments
21
-
22
- - `--status` (optional): Filter by status (backlog, planned, in-progress, completed, closed)
23
- - `--priority` (optional): Filter by priority (P1, P2, P3)
24
- - `--verbose` (optional): Show task breakdown
25
- - `--wip-only` (optional): Show only in-progress increments
26
-
27
- ---
28
-
29
- ## Output
30
-
31
- ### Default View
32
-
33
- ```
34
- 📊 SpecWeave Increments Overview
35
-
36
- WIP Status: 2/2 (at limit) ⚠️
37
-
38
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
39
-
40
- Status: in-progress (2)
41
-
42
- ├── 001-core-framework [P1]
43
- │ ├── Progress: 88% (44/50 tasks)
44
- │ ├── Started: 2025-02-01 (8 months ago)
45
- │ ├── P1: 100% (30/30) ✅
46
- │ ├── P2: 80% (12/15) - 3 remaining
47
- │ ├── P3: 40% (2/5) - 3 remaining
48
- │ └── Ready to close (all P1 complete)
49
-
50
- └── 003-jira-integration [P1]
51
- ├── Progress: 40% (8/20 tasks)
52
- ├── Started: 2025-09-15 (1 month ago)
53
- ├── P1: 50% (5/10) ⏳
54
- ├── P2: 30% (3/10)
55
- └── In progress
56
-
57
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
58
-
59
- Status: planned (3)
60
-
61
- ├── 002-enhancements [P2] - Ready to start
62
- │ └── 15 tasks (transferred from 001)
63
-
64
- ├── 004-github-sync [P2] - Ready to start
65
- │ └── 18 tasks
66
-
67
- └── 005-cost-optimizer-v2 [P3] - Ready to start
68
- └── 10 tasks
69
-
70
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
71
-
72
- Status: backlog (10 ideas)
73
-
74
- ├── Design system improvements
75
- ├── Performance optimizations
76
- ├── Mobile app support
77
- ├── Advanced analytics
78
- └── ... (6 more)
79
-
80
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
81
-
82
- Status: closed (1)
83
-
84
- └── 000-project-setup [P1]
85
- ├── Closed: 2025-01-15
86
- ├── Completion: 100% (10/10 tasks)
87
- └── Duration: 2 weeks
88
-
89
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
90
-
91
- ⚠️ Action needed:
92
- → WIP limit reached (2/2)
93
- → Close 001-core-framework to free WIP slot (88% complete, ready)
94
- → Run: /close-increment 001
95
-
96
- Next steps:
97
- 1. Close 001 to free WIP slot
98
- 2. Start 002-enhancements
99
- ```
100
-
101
- ### Verbose View
102
-
103
- ```bash
104
- /list-increments --verbose --status in-progress
105
-
106
- 📊 In-Progress Increments (Verbose)
107
-
108
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
-
110
- 001-core-framework [P1]
111
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
112
-
113
- Title: SpecWeave Core Framework
114
- Status: in-progress
115
- Priority: P1
116
- Started: 2025-02-01 (8 months ago)
117
- Progress: 88% (44/50 tasks)
118
- WIP Slot: 1
119
-
120
- Task Breakdown:
121
- P1 (Critical): 100% (30/30) ✅
122
- ✅ T001-T030: All complete
123
-
124
- P2 (Important): 80% (12/15)
125
- ✅ T031-T042: Complete
126
- ⏳ T043: In progress
127
- ❌ T044-T045: Not started
128
-
129
- P3 (Nice-to-have): 40% (2/5)
130
- ✅ T046-T047: Complete
131
- ❌ T048-T050: Not started
132
-
133
- Dependencies: None
134
- Dependent increments: 002-enhancements, 004-github-sync
135
-
136
- Ready to close: YES (all P1 complete)
137
- Leftover tasks: 6 (3 P2, 3 P3)
138
-
139
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
140
- ```
141
-
142
- ### Filtered Views
143
-
144
- ```bash
145
- # Only P1 increments
146
- /list-increments --priority P1
147
-
148
- 📊 P1 (Critical) Increments
149
-
150
- in-progress (2):
151
- - 001-core-framework: 88% complete
152
- - 003-jira-integration: 40% complete
153
-
154
- planned (0): None
155
-
156
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
157
-
158
- # Only WIP increments
159
- /list-increments --wip-only
160
-
161
- 📊 WIP Increments (2/2 - at limit)
162
-
163
- 001-core-framework [P1]: 88% → Ready to close
164
- 003-jira-integration [P1]: 40% → In progress
165
-
166
- ⚠️ At WIP limit - close 001 to start new work
167
- ```
168
-
169
- ---
170
-
171
- ## Related Documentation
172
-
173
- - [CLAUDE.md](../../CLAUDE.md#increment-lifecycle-management) - Lifecycle guide
174
- - [.specweave/increments/README.md](../../.specweave/increments/README.md) - Increments overview
175
-
176
- ---
177
-
178
- **Command Type**: Status reporting
179
- **Framework Support**: All
180
- **Output**: Summary of all increments with actionable recommendations