specweave 0.6.7 → 0.7.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 (281) hide show
  1. package/.claude-plugin/README.md +1 -1
  2. package/CLAUDE.md +920 -107
  3. package/README.md +143 -207
  4. package/bin/specweave.js +67 -0
  5. package/dist/adapters/adapter-interface.d.ts +11 -11
  6. package/dist/adapters/adapter-interface.d.ts.map +1 -1
  7. package/dist/adapters/adapter-interface.js +1 -1
  8. package/dist/adapters/adapter-loader.d.ts +1 -2
  9. package/dist/adapters/adapter-loader.d.ts.map +1 -1
  10. package/dist/adapters/adapter-loader.js +3 -6
  11. package/dist/adapters/adapter-loader.js.map +1 -1
  12. package/dist/adapters/agents-md-generator.d.ts +3 -3
  13. package/dist/adapters/agents-md-generator.js +3 -3
  14. package/dist/adapters/generic/adapter.d.ts +2 -2
  15. package/dist/adapters/generic/adapter.d.ts.map +1 -1
  16. package/dist/adapters/generic/adapter.js +28 -9
  17. package/dist/adapters/generic/adapter.js.map +1 -1
  18. package/dist/cli/commands/abandon.d.ts +13 -0
  19. package/dist/cli/commands/abandon.d.ts.map +1 -0
  20. package/dist/cli/commands/abandon.js +15 -0
  21. package/dist/cli/commands/abandon.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts.map +1 -1
  23. package/dist/cli/commands/init.js +141 -40
  24. package/dist/cli/commands/init.js.map +1 -1
  25. package/dist/cli/commands/pause.d.ts +13 -0
  26. package/dist/cli/commands/pause.d.ts.map +1 -0
  27. package/dist/cli/commands/pause.js +15 -0
  28. package/dist/cli/commands/pause.js.map +1 -0
  29. package/dist/cli/commands/qa.d.ts +54 -0
  30. package/dist/cli/commands/qa.d.ts.map +1 -0
  31. package/dist/cli/commands/qa.js +98 -0
  32. package/dist/cli/commands/qa.js.map +1 -0
  33. package/dist/cli/commands/resume.d.ts +12 -0
  34. package/dist/cli/commands/resume.d.ts.map +1 -0
  35. package/dist/cli/commands/resume.js +14 -0
  36. package/dist/cli/commands/resume.js.map +1 -0
  37. package/dist/cli/commands/status.d.ts +12 -0
  38. package/dist/cli/commands/status.d.ts.map +1 -0
  39. package/dist/cli/commands/status.js +23 -0
  40. package/dist/cli/commands/status.js.map +1 -0
  41. package/dist/cli/helpers/issue-tracker/ado.d.ts +57 -0
  42. package/dist/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
  43. package/dist/cli/helpers/issue-tracker/ado.js +223 -0
  44. package/dist/cli/helpers/issue-tracker/ado.js.map +1 -0
  45. package/dist/cli/helpers/issue-tracker/github.d.ts +65 -0
  46. package/dist/cli/helpers/issue-tracker/github.d.ts.map +1 -0
  47. package/dist/cli/helpers/issue-tracker/github.js +284 -0
  48. package/dist/cli/helpers/issue-tracker/github.js.map +1 -0
  49. package/dist/cli/helpers/issue-tracker/index.d.ts +22 -0
  50. package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -0
  51. package/dist/cli/helpers/issue-tracker/index.js +270 -0
  52. package/dist/cli/helpers/issue-tracker/index.js.map +1 -0
  53. package/dist/cli/helpers/issue-tracker/jira.d.ts +61 -0
  54. package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
  55. package/dist/cli/helpers/issue-tracker/jira.js +265 -0
  56. package/dist/cli/helpers/issue-tracker/jira.js.map +1 -0
  57. package/dist/cli/helpers/issue-tracker/types.d.ts +86 -0
  58. package/dist/cli/helpers/issue-tracker/types.d.ts.map +1 -0
  59. package/dist/cli/helpers/issue-tracker/types.js +16 -0
  60. package/dist/cli/helpers/issue-tracker/types.js.map +1 -0
  61. package/dist/cli/helpers/issue-tracker/utils.d.ts +103 -0
  62. package/dist/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
  63. package/dist/cli/helpers/issue-tracker/utils.js +240 -0
  64. package/dist/cli/helpers/issue-tracker/utils.js.map +1 -0
  65. package/dist/core/increment/limits.d.ts +68 -0
  66. package/dist/core/increment/limits.d.ts.map +1 -0
  67. package/dist/core/increment/limits.js +224 -0
  68. package/dist/core/increment/limits.js.map +1 -0
  69. package/dist/core/increment/metadata-manager.d.ts +114 -0
  70. package/dist/core/increment/metadata-manager.d.ts.map +1 -0
  71. package/dist/core/increment/metadata-manager.js +320 -0
  72. package/dist/core/increment/metadata-manager.js.map +1 -0
  73. package/dist/core/increment/status-commands.d.ts +43 -0
  74. package/dist/core/increment/status-commands.d.ts.map +1 -0
  75. package/dist/core/increment/status-commands.js +277 -0
  76. package/dist/core/increment/status-commands.js.map +1 -0
  77. package/dist/core/plugin-detector.d.ts +1 -0
  78. package/dist/core/plugin-detector.d.ts.map +1 -1
  79. package/dist/core/plugin-detector.js +25 -0
  80. package/dist/core/plugin-detector.js.map +1 -1
  81. package/dist/core/qa/qa-runner.d.ts +16 -0
  82. package/dist/core/qa/qa-runner.d.ts.map +1 -0
  83. package/dist/core/qa/qa-runner.js +404 -0
  84. package/dist/core/qa/qa-runner.js.map +1 -0
  85. package/dist/core/qa/quality-gate-decider.d.ts +53 -0
  86. package/dist/core/qa/quality-gate-decider.d.ts.map +1 -0
  87. package/dist/core/qa/quality-gate-decider.js +268 -0
  88. package/dist/core/qa/quality-gate-decider.js.map +1 -0
  89. package/dist/core/qa/risk-calculator.d.ts +126 -0
  90. package/dist/core/qa/risk-calculator.d.ts.map +1 -0
  91. package/dist/core/qa/risk-calculator.js +247 -0
  92. package/dist/core/qa/risk-calculator.js.map +1 -0
  93. package/dist/core/qa/types.d.ts +315 -0
  94. package/dist/core/qa/types.d.ts.map +1 -0
  95. package/dist/core/qa/types.js +8 -0
  96. package/dist/core/qa/types.js.map +1 -0
  97. package/dist/core/types/config.d.ts +37 -2
  98. package/dist/core/types/config.d.ts.map +1 -1
  99. package/dist/core/types/config.js +16 -0
  100. package/dist/core/types/config.js.map +1 -1
  101. package/dist/core/types/increment-metadata.d.ts +120 -0
  102. package/dist/core/types/increment-metadata.d.ts.map +1 -0
  103. package/dist/core/types/increment-metadata.js +138 -0
  104. package/dist/core/types/increment-metadata.js.map +1 -0
  105. package/dist/hooks/lib/invoke-translator-skill.d.ts +60 -0
  106. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
  107. package/dist/hooks/lib/invoke-translator-skill.js +201 -0
  108. package/dist/hooks/lib/invoke-translator-skill.js.map +1 -0
  109. package/dist/hooks/lib/translate-file.d.ts +59 -0
  110. package/dist/hooks/lib/translate-file.d.ts.map +1 -0
  111. package/dist/hooks/lib/translate-file.js +350 -0
  112. package/dist/hooks/lib/translate-file.js.map +1 -0
  113. package/dist/locales/en/cli.json +3 -1
  114. package/dist/metrics/calculators/change-failure-rate.d.ts +22 -0
  115. package/dist/metrics/calculators/change-failure-rate.d.ts.map +1 -0
  116. package/dist/metrics/calculators/change-failure-rate.js +70 -0
  117. package/dist/metrics/calculators/change-failure-rate.js.map +1 -0
  118. package/dist/metrics/calculators/deployment-frequency.d.ts +20 -0
  119. package/dist/metrics/calculators/deployment-frequency.d.ts.map +1 -0
  120. package/dist/metrics/calculators/deployment-frequency.js +61 -0
  121. package/dist/metrics/calculators/deployment-frequency.js.map +1 -0
  122. package/dist/metrics/calculators/lead-time.d.ts +22 -0
  123. package/dist/metrics/calculators/lead-time.d.ts.map +1 -0
  124. package/dist/metrics/calculators/lead-time.js +82 -0
  125. package/dist/metrics/calculators/lead-time.js.map +1 -0
  126. package/dist/metrics/calculators/mttr.d.ts +21 -0
  127. package/dist/metrics/calculators/mttr.d.ts.map +1 -0
  128. package/dist/metrics/calculators/mttr.js +60 -0
  129. package/dist/metrics/calculators/mttr.js.map +1 -0
  130. package/dist/metrics/dora-calculator.d.ts +24 -0
  131. package/dist/metrics/dora-calculator.d.ts.map +1 -0
  132. package/dist/metrics/dora-calculator.js +104 -0
  133. package/dist/metrics/dora-calculator.js.map +1 -0
  134. package/dist/metrics/github-client.d.ts +51 -0
  135. package/dist/metrics/github-client.d.ts.map +1 -0
  136. package/dist/metrics/github-client.js +133 -0
  137. package/dist/metrics/github-client.js.map +1 -0
  138. package/dist/metrics/types.d.ts +112 -0
  139. package/dist/metrics/types.d.ts.map +1 -0
  140. package/dist/metrics/types.js +10 -0
  141. package/dist/metrics/types.js.map +1 -0
  142. package/dist/metrics/utils/percentile.d.ts +25 -0
  143. package/dist/metrics/utils/percentile.d.ts.map +1 -0
  144. package/dist/metrics/utils/percentile.js +46 -0
  145. package/dist/metrics/utils/percentile.js.map +1 -0
  146. package/dist/metrics/utils/tier-classifier.d.ts +61 -0
  147. package/dist/metrics/utils/tier-classifier.d.ts.map +1 -0
  148. package/dist/metrics/utils/tier-classifier.js +100 -0
  149. package/dist/metrics/utils/tier-classifier.js.map +1 -0
  150. package/dist/utils/auth-helpers.d.ts +58 -0
  151. package/dist/utils/auth-helpers.d.ts.map +1 -0
  152. package/dist/utils/auth-helpers.js +108 -0
  153. package/dist/utils/auth-helpers.js.map +1 -0
  154. package/dist/utils/env-file.d.ts +88 -0
  155. package/dist/utils/env-file.d.ts.map +1 -0
  156. package/dist/utils/env-file.js +180 -0
  157. package/dist/utils/env-file.js.map +1 -0
  158. package/dist/utils/plugin-detection.d.ts +50 -0
  159. package/dist/utils/plugin-detection.d.ts.map +1 -0
  160. package/dist/utils/plugin-detection.js +229 -0
  161. package/dist/utils/plugin-detection.js.map +1 -0
  162. package/dist/utils/secrets-loader.d.ts +88 -0
  163. package/dist/utils/secrets-loader.d.ts.map +1 -0
  164. package/dist/utils/secrets-loader.js +271 -0
  165. package/dist/utils/secrets-loader.js.map +1 -0
  166. package/dist/utils/translation.d.ts +187 -0
  167. package/dist/utils/translation.d.ts.map +1 -0
  168. package/dist/utils/translation.js +414 -0
  169. package/dist/utils/translation.js.map +1 -0
  170. package/package.json +28 -44
  171. package/plugins/specweave/.claude-plugin/plugin.json +3 -3
  172. package/plugins/specweave/agents/pm/AGENT.md +330 -54
  173. package/plugins/specweave/agents/test-aware-planner/AGENT.md +1035 -0
  174. package/plugins/specweave/agents/test-aware-planner/templates/README.md +118 -0
  175. package/plugins/specweave/agents/test-aware-planner/templates/task-non-testable.md.template +24 -0
  176. package/plugins/specweave/agents/test-aware-planner/templates/task-testable.md.template +53 -0
  177. package/plugins/specweave/agents/test-aware-planner/templates/tasks-frontmatter.md.template +11 -0
  178. package/plugins/specweave/commands/README.md +88 -163
  179. package/plugins/specweave/commands/specweave-abandon.md +314 -0
  180. package/plugins/specweave/commands/specweave-check-tests.md +546 -0
  181. package/plugins/specweave/commands/{do.md → specweave-do.md} +5 -5
  182. package/plugins/specweave/commands/{done.md → specweave-done.md} +2 -0
  183. package/plugins/specweave/commands/{increment.md → specweave-increment.md} +231 -4
  184. package/plugins/specweave/commands/specweave-pause.md +189 -0
  185. package/plugins/specweave/commands/specweave-qa.md +245 -0
  186. package/plugins/specweave/commands/specweave-resume.md +216 -0
  187. package/plugins/specweave/commands/specweave-status.md +397 -0
  188. package/plugins/specweave/commands/specweave-sync-tasks.md +256 -0
  189. package/plugins/specweave/commands/{translate.md → specweave-translate.md} +3 -3
  190. package/plugins/specweave/commands/specweave-update-scope.md +351 -0
  191. package/plugins/specweave/commands/{validate.md → specweave-validate.md} +2 -0
  192. package/plugins/specweave/commands/specweave.md +21 -21
  193. package/plugins/specweave/hooks/docs-changed.sh +23 -3
  194. package/plugins/specweave/hooks/human-input-required.sh +23 -3
  195. package/plugins/specweave/hooks/post-increment-planning.sh +335 -0
  196. package/plugins/specweave/hooks/post-task-completion.sh +161 -1
  197. package/plugins/specweave/hooks/pre-implementation.sh +23 -3
  198. package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
  199. package/plugins/specweave/skills/brownfield-analyzer/SKILL.md +9 -9
  200. package/plugins/specweave/skills/increment-planner/SKILL.md +400 -212
  201. package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +499 -0
  202. package/plugins/specweave/skills/plugin-detector/SKILL.md +114 -1
  203. package/plugins/specweave/skills/project-kickstarter/SKILL.md +74 -1
  204. package/plugins/specweave/skills/{rfc-generator → spec-generator}/SKILL.md +22 -29
  205. package/plugins/specweave/skills/specweave-detector/SKILL.md +3 -3
  206. package/plugins/specweave/skills/specweave-framework/SKILL.md +2 -2
  207. package/plugins/specweave-ado/.claude-plugin/plugin.json +18 -4
  208. package/plugins/specweave-ado/agents/ado-manager/AGENT.md +426 -0
  209. package/plugins/specweave-ado/commands/close-workitem.md +52 -0
  210. package/plugins/specweave-ado/commands/create-workitem.md +53 -0
  211. package/plugins/specweave-ado/commands/status.md +53 -0
  212. package/plugins/specweave-ado/commands/sync.md +55 -0
  213. package/plugins/specweave-ado/lib/ado-client.ts +361 -0
  214. package/plugins/specweave-ado/reference/ado-specweave-mapping.md +552 -0
  215. package/plugins/specweave-ado/skills/ado-sync/SKILL.md +344 -193
  216. package/plugins/specweave-docs/skills/docusaurus/SKILL.md +73 -0
  217. package/plugins/specweave-github/agents/github-manager/AGENT.md +49 -0
  218. package/plugins/specweave-github/commands/{github-close-issue.md → close-issue.md} +1 -1
  219. package/plugins/specweave-github/commands/{github-create-issue.md → create-issue.md} +1 -1
  220. package/plugins/specweave-github/commands/{github-status.md → status.md} +1 -1
  221. package/plugins/specweave-github/commands/{github-sync-tasks.md → sync-tasks.md} +1 -1
  222. package/plugins/specweave-github/commands/{github-sync.md → sync.md} +1 -1
  223. package/plugins/specweave-github/reference/github-specweave-mapping.md +377 -0
  224. package/plugins/specweave-github/skills/github-sync/SKILL.md +11 -3
  225. package/plugins/specweave-infrastructure/commands/{specweave.monitor-setup.md → monitor-setup.md} +5 -0
  226. package/plugins/specweave-infrastructure/commands/{specweave.slo-implement.md → slo-implement.md} +5 -0
  227. package/plugins/specweave-jira/agents/jira-manager/AGENT.md +380 -0
  228. package/plugins/specweave-jira/commands/{specweave.sync-jira.md → sync.md} +1 -1
  229. package/plugins/specweave-jira/reference/jira-specweave-mapping.md +508 -0
  230. package/plugins/specweave-ml/commands/ml-deploy.md +1 -1
  231. package/plugins/specweave-ml/commands/ml-evaluate.md +1 -1
  232. package/plugins/specweave-ml/commands/ml-explain.md +1 -1
  233. package/plugins/specweave-ml/commands/{specweave.ml-pipeline.md → ml-pipeline.md} +5 -0
  234. package/src/templates/AGENTS.md.template +652 -1
  235. package/src/templates/CLAUDE.md.template +36 -21
  236. package/src/templates/COMPLETION-REPORT.template.md +128 -0
  237. package/src/templates/README.md.template +17 -16
  238. package/src/templates/docs/README.md +11 -9
  239. package/src/templates/docs/spec-template.md +229 -0
  240. package/dist/adapters/copilot/adapter.d.ts +0 -86
  241. package/dist/adapters/copilot/adapter.d.ts.map +0 -1
  242. package/dist/adapters/copilot/adapter.js +0 -396
  243. package/dist/adapters/copilot/adapter.js.map +0 -1
  244. package/plugins/.specweave/logs/hooks-debug.log +0 -24
  245. package/plugins/.specweave/logs/last-hook-fire +0 -1
  246. package/plugins/.specweave/logs/last-todowrite-time +0 -1
  247. package/plugins/.specweave/logs/tasks.log +0 -6
  248. package/plugins/specweave/commands/inc.md +0 -85
  249. package/plugins/specweave/commands/list-increments.md +0 -180
  250. package/src/adapters/README.md +0 -311
  251. package/src/adapters/adapter-base.ts +0 -182
  252. package/src/adapters/adapter-interface.ts +0 -166
  253. package/src/adapters/adapter-loader.ts +0 -259
  254. package/src/adapters/agents-md-generator.ts +0 -228
  255. package/src/adapters/claude/README.md +0 -233
  256. package/src/adapters/claude/adapter.ts +0 -468
  257. package/src/adapters/claude-md-generator.ts +0 -377
  258. package/src/adapters/codex/README.md +0 -105
  259. package/src/adapters/codex/adapter.ts +0 -333
  260. package/src/adapters/copilot/README.md +0 -240
  261. package/src/adapters/copilot/adapter.ts +0 -444
  262. package/src/adapters/cursor/.cursor/context/docs-context.md +0 -62
  263. package/src/adapters/cursor/.cursor/context/increments-context.md +0 -71
  264. package/src/adapters/cursor/.cursor/context/strategy-context.md +0 -73
  265. package/src/adapters/cursor/.cursor/context/tests-context.md +0 -89
  266. package/src/adapters/cursor/README.md +0 -283
  267. package/src/adapters/cursor/adapter.ts +0 -451
  268. package/src/adapters/doc-generator.ts +0 -331
  269. package/src/adapters/gemini/README.md +0 -97
  270. package/src/adapters/gemini/adapter.ts +0 -298
  271. package/src/adapters/generic/README.md +0 -277
  272. package/src/adapters/generic/adapter.ts +0 -359
  273. package/src/adapters/registry.yaml +0 -187
  274. /package/plugins/specweave/commands/{costs.md → specweave-costs.md} +0 -0
  275. /package/plugins/specweave/commands/{next.md → specweave-next.md} +0 -0
  276. /package/plugins/specweave/commands/{progress.md → specweave-progress.md} +0 -0
  277. /package/plugins/specweave/commands/{sync-docs.md → specweave-sync-docs.md} +0 -0
  278. /package/plugins/specweave/commands/{tdd-cycle.md → specweave-tdd-cycle.md} +0 -0
  279. /package/plugins/specweave/commands/{tdd-green.md → specweave-tdd-green.md} +0 -0
  280. /package/plugins/specweave/commands/{tdd-red.md → specweave-tdd-red.md} +0 -0
  281. /package/plugins/specweave/commands/{tdd-refactor.md → specweave-tdd-refactor.md} +0 -0
@@ -330,6 +330,29 @@ Plugins are detected and suggested during `specweave init` based on:
330
330
 
331
331
  ---
332
332
 
333
+ ## Frequently Asked Questions
334
+
335
+ **New to SpecWeave?** Check out the [FAQ](https://spec-weave.com/docs/faq) for answers to common questions:
336
+
337
+ ### Quick Answers
338
+ - **Why specs in two locations?** Living Docs (permanent, complete feature) vs Increment Specs (temporary, current work)
339
+ - **When do I need living docs spec?** Major features (3+ increments), brownfield integration, or external PM tools
340
+ - **Can I delete increment specs?** YES, after completion. Living docs specs are NEVER deleted (permanent)
341
+ - **Which spec is source of truth?** Living docs spec (when it exists), otherwise increment spec
342
+
343
+ ### Key Topics Covered
344
+ - ✅ Two-spec architecture explained
345
+ - ✅ When to create living docs specs
346
+ - ✅ Increment spec lifecycle
347
+ - ✅ Brownfield documentation linking
348
+ - ✅ External PM tool integration (Jira, ADO, GitHub)
349
+ - ✅ Small vs large feature decisions
350
+ - ✅ Project structure and organization
351
+
352
+ **[View Complete FAQ →](https://spec-weave.com/docs/faq)**
353
+
354
+ ---
355
+
333
356
  ## Testing
334
357
 
335
358
  **Four Levels**:
@@ -351,29 +374,21 @@ Plugins are detected and suggested during `specweave init` based on:
351
374
 
352
375
  | User Says | Use Command | What It Does |
353
376
  |-----------|-------------|--------------|
354
- | "Let's build [feature]" | `/inc "[feature]"` | Plan new increment |
355
- | "Start implementing" | `/do` | Execute tasks (smart resume) |
356
- | "What's the status?" | `/progress` | Show task completion % |
357
- | "Is this ready?" | `/validate 0001` | Validate increment quality |
358
- | "We're done" | `/done 0001` | Close increment |
377
+ | "Let's build [feature]" | `/specweave:increment "[feature]"` | Plan new increment |
378
+ | "Start implementing" | `/specweave:do` | Execute tasks (smart resume) |
379
+ | "What's the status?" | `/specweave:progress` | Show task completion % |
380
+ | "Is this ready?" | `/specweave:validate 0001` | Validate increment quality |
381
+ | "We're done" | `/specweave:done 0001` | Close increment |
359
382
 
360
383
  **Plugin Commands** (when installed):
361
384
  | "Sync to GitHub" | `/specweave:github:sync` | Export to GitHub issues |
362
385
  | "Sync to Jira" | `/specweave:jira:sync` | Export to Jira |
363
386
 
364
- ### Command Aliases
365
-
366
- - `/inc` = `/specweave inc` = `/specweave:inc`
367
- - `/do` = `/specweave do` = `/specweave:do`
368
- - `/validate` = `/specweave validate` = `/specweave:validate`
369
- - `/done` = `/specweave done` = `/specweave:done`
370
- - `/progress` = `/specweave progress` = `/specweave:progress`
371
-
372
387
  ---
373
388
 
374
389
  ## Key SpecWeave Principles
375
390
 
376
- 1. **Specification-First**: Always start with `/inc` to create specs before coding
391
+ 1. **Specification-First**: Always start with `/specweave:increment` to create specs before coding
377
392
  2. **Documentation = Source of Truth**: Specs guide implementation, not the reverse
378
393
  3. **Incremental**: Work in small, measurable increments
379
394
  4. **Validated**: Every increment validated before closure
@@ -394,19 +409,19 @@ Plugins are detected and suggested during `specweave init` based on:
394
409
 
395
410
  **Create your first feature**:
396
411
  ```bash
397
- /inc "your feature description"
412
+ /specweave:increment "your feature description"
398
413
  ```
399
414
 
400
415
  **Typical Workflow**:
401
- 1. `/inc "feature"` → SpecWeave creates specs
416
+ 1. `/specweave:increment "feature"` → SpecWeave creates specs
402
417
  2. Review specs (spec.md, plan.md, tasks.md)
403
- 3. `/do` → Claude implements the code
404
- 4. `/progress` → Check status anytime
405
- 5. `/validate 0001` → Validate quality (optional)
406
- 6. `/done 0001` → Close when complete
418
+ 3. `/specweave:do` → Claude implements the code
419
+ 4. `/specweave:progress` → Check status anytime
420
+ 5. `/specweave:validate 0001` → Validate quality (optional)
421
+ 6. `/specweave:done 0001` → Close when complete
407
422
 
408
423
  **Remember**:
409
- - Type `/inc` first, THEN implement
424
+ - Type `/specweave:increment` first, THEN implement
410
425
  - Keep root clean (use increment folders)
411
426
  - All agents/skills activate automatically
412
427
 
@@ -0,0 +1,128 @@
1
+ # Increment {{ID}}: {{TITLE}}
2
+
3
+ **Status**: {{STATUS}}
4
+ **Type**: {{TYPE}}
5
+ **Created**: {{CREATED_DATE}}
6
+ **Completed**: {{COMPLETED_DATE}}
7
+
8
+ ---
9
+
10
+ ## Original Scope (Planned)
11
+
12
+ ### User Stories
13
+
14
+ {{ORIGINAL_USER_STORIES}}
15
+
16
+ ### Tasks
17
+
18
+ {{ORIGINAL_TASKS}}
19
+
20
+ **Estimated Effort**: {{ESTIMATED_HOURS}} hours
21
+
22
+ ---
23
+
24
+ ## Scope Evolution (Living Updates)
25
+
26
+ _This section is updated during the increment whenever scope changes occur._
27
+
28
+ {{#SCOPE_CHANGES}}
29
+ ### {{CHANGE_DATE}}: {{CHANGE_TITLE}}
30
+
31
+ **Changed**: {{WHAT_CHANGED}}
32
+ **Reason**: {{WHY_CHANGED}}
33
+ **Impact**: {{IMPACT_HOURS}} hours ({{IMPACT_DIRECTION}})
34
+ **Decision**: {{WHO_APPROVED}}
35
+ **Documentation**: {{DOCUMENTATION_LINKS}}
36
+
37
+ ---
38
+ {{/SCOPE_CHANGES}}
39
+
40
+ {{#IF_NO_CHANGES}}
41
+ _No scope changes during this increment._
42
+ {{/IF_NO_CHANGES}}
43
+
44
+ ---
45
+
46
+ ## Final Delivery
47
+
48
+ ### Completed User Stories
49
+
50
+ {{COMPLETED_USER_STORIES}}
51
+
52
+ ### Deferred User Stories
53
+
54
+ {{DEFERRED_USER_STORIES}}
55
+
56
+ ### Added User Stories
57
+
58
+ {{ADDED_USER_STORIES}}
59
+
60
+ **Delivered**: {{DELIVERED_COUNT}} user stories ({{PLANNED_COUNT}} originally planned, {{ADDED_COUNT}} added, {{DEFERRED_COUNT}} deferred)
61
+ **Actual Effort**: {{ACTUAL_HOURS}} hours (vs {{ESTIMATED_HOURS}} estimated)
62
+
63
+ ---
64
+
65
+ ## What Changed and Why
66
+
67
+ ### Deferrals
68
+
69
+ {{#DEFERRALS}}
70
+ - **{{DEFERRED_ITEM}}**: {{DEFERRAL_REASON}}
71
+ - Business value: {{BUSINESS_VALUE_ASSESSMENT}}
72
+ - Can be added later: {{CAN_ADD_LATER}}
73
+ {{/DEFERRALS}}
74
+
75
+ ### Additions
76
+
77
+ {{#ADDITIONS}}
78
+ - **{{ADDED_ITEM}}**: {{ADDITION_REASON}}
79
+ - Stakeholder: {{STAKEHOLDER}}
80
+ - Scope approved by: {{APPROVER}}
81
+ {{/ADDITIONS}}
82
+
83
+ ### Technical Pivots
84
+
85
+ {{#TECHNICAL_PIVOTS}}
86
+ - **{{PIVOT_DESCRIPTION}}**: {{PIVOT_DECISION}}
87
+ - Documented in: {{ADR_LINK}}
88
+ - Impact: {{PIVOT_IMPACT}}
89
+ {{/TECHNICAL_PIVOTS}}
90
+
91
+ ---
92
+
93
+ ## Lessons Learned
94
+
95
+ {{#LESSONS}}
96
+ 1. **{{LESSON_TITLE}}**: {{LESSON_DESCRIPTION}}
97
+ {{/LESSONS}}
98
+
99
+ ---
100
+
101
+ ## Metrics
102
+
103
+ - **Velocity**: {{ACTUAL_HOURS}} hours / {{DAYS_TAKEN}} days = {{HOURS_PER_DAY}} hours/day
104
+ - **Scope creep**: {{SCOPE_CREEP_ANALYSIS}}
105
+ - **Test coverage**: {{TEST_COVERAGE}}% (target: 80%)
106
+ - **Defects found**: {{DEFECTS_COUNT}} ({{CRITICAL_COUNT}} critical, {{MINOR_COUNT}} minor)
107
+
108
+ ---
109
+
110
+ ## Related Documentation
111
+
112
+ {{#RELATED_DOCS}}
113
+ - {{DOC_TYPE}}: [{{DOC_TITLE}}]({{DOC_LINK}})
114
+ {{/RELATED_DOCS}}
115
+
116
+ ---
117
+
118
+ **Report Version**: v{{REPORT_VERSION}} (updated {{UPDATE_COUNT}} times during increment)
119
+ **Last Updated**: {{LAST_UPDATED}}
120
+ **Updated By**: {{UPDATED_BY}}
121
+
122
+ ---
123
+
124
+ ## Update History
125
+
126
+ {{#UPDATE_HISTORY}}
127
+ - v{{VERSION}}: {{UPDATE_DATE}} - {{UPDATE_DESCRIPTION}}
128
+ {{/UPDATE_HISTORY}}
@@ -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,86 +0,0 @@
1
- /**
2
- * GitHub Copilot Adapter
3
- *
4
- * Basic automation adapter for GitHub Copilot.
5
- * Compiles SpecWeave plugins to AGENTS.md (universal standard) for context and suggestions.
6
- *
7
- * This adapter compiles skills, agents, and commands into AGENTS.md format.
8
- */
9
- import { AdapterBase } from '../adapter-base.js';
10
- import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
11
- import type { Plugin } from '../../core/types/plugin.js';
12
- export declare class CopilotAdapter extends AdapterBase {
13
- name: string;
14
- description: string;
15
- automationLevel: "basic";
16
- /**
17
- * Detect if GitHub Copilot is available
18
- *
19
- * Note: Detection is best-effort since Copilot might be installed
20
- * but we can't detect it reliably. This adapter is safe to use
21
- * as a fallback since Copilot reads AGENTS.md (universal standard).
22
- */
23
- detect(): Promise<boolean>;
24
- /**
25
- * Get files to install for Copilot adapter
26
- *
27
- * Note: Copilot automatically reads AGENTS.md (universal standard).
28
- * No additional files needed.
29
- */
30
- getFiles(): AdapterFile[];
31
- /**
32
- * Install Copilot adapter
33
- */
34
- install(options: AdapterOptions): Promise<void>;
35
- /**
36
- * Post-installation instructions
37
- */
38
- postInstall(options: AdapterOptions): Promise<void>;
39
- /**
40
- * Get usage instructions for Copilot adapter
41
- */
42
- getInstructions(): string;
43
- /**
44
- * Check if Copilot adapter supports plugins
45
- *
46
- * Copilot has plugin support via AGENTS.md compilation (same as Cursor)
47
- *
48
- * @returns boolean True for Copilot
49
- */
50
- supportsPlugins(): boolean;
51
- /**
52
- * Read language configuration from project config
53
- *
54
- * @returns Language setting from config, defaults to 'en'
55
- */
56
- private getLanguageConfig;
57
- /**
58
- * Inject system prompt for non-English languages
59
- *
60
- * Prepends language instruction to markdown content if language !== 'en'
61
- *
62
- * @param content Original markdown content
63
- * @param language Target language
64
- * @returns Modified content with system prompt (or unchanged if English)
65
- */
66
- private injectSystemPrompt;
67
- /**
68
- * Compile and install a plugin for Copilot
69
- *
70
- * Copilot uses AGENTS.md compilation (same as Cursor)
71
- *
72
- * NEW: Injects system prompts for non-English languages
73
- *
74
- * @param plugin Plugin to install
75
- */
76
- compilePlugin(plugin: Plugin): Promise<void>;
77
- /**
78
- * Unload a plugin from Copilot
79
- */
80
- unloadPlugin(pluginName: string): Promise<void>;
81
- /**
82
- * Get list of installed plugins for Copilot
83
- */
84
- getInstalledPlugins(): Promise<string[]>;
85
- }
86
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAKzD,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAa;IACjB,WAAW,SAA8D;IACzE,eAAe,EAAG,OAAO,CAAU;IAEnC;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAMhC;;;;;OAKG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwErD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;IAuHzB;;;;;;OAMG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;OAIG;YACW,iBAAiB;IAiB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;OAQG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsElD;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCrD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAmB/C"}