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.
- package/.claude-plugin/README.md +1 -1
- package/CLAUDE.md +920 -107
- package/README.md +143 -207
- package/bin/specweave.js +67 -0
- package/dist/adapters/adapter-interface.d.ts +11 -11
- package/dist/adapters/adapter-interface.d.ts.map +1 -1
- package/dist/adapters/adapter-interface.js +1 -1
- package/dist/adapters/adapter-loader.d.ts +1 -2
- package/dist/adapters/adapter-loader.d.ts.map +1 -1
- package/dist/adapters/adapter-loader.js +3 -6
- package/dist/adapters/adapter-loader.js.map +1 -1
- package/dist/adapters/agents-md-generator.d.ts +3 -3
- package/dist/adapters/agents-md-generator.js +3 -3
- package/dist/adapters/generic/adapter.d.ts +2 -2
- package/dist/adapters/generic/adapter.d.ts.map +1 -1
- package/dist/adapters/generic/adapter.js +28 -9
- package/dist/adapters/generic/adapter.js.map +1 -1
- package/dist/cli/commands/abandon.d.ts +13 -0
- package/dist/cli/commands/abandon.d.ts.map +1 -0
- package/dist/cli/commands/abandon.js +15 -0
- package/dist/cli/commands/abandon.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +141 -40
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/pause.d.ts +13 -0
- package/dist/cli/commands/pause.d.ts.map +1 -0
- package/dist/cli/commands/pause.js +15 -0
- package/dist/cli/commands/pause.js.map +1 -0
- package/dist/cli/commands/qa.d.ts +54 -0
- package/dist/cli/commands/qa.d.ts.map +1 -0
- package/dist/cli/commands/qa.js +98 -0
- package/dist/cli/commands/qa.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +12 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +14 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/status.d.ts +12 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +23 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/ado.d.ts +57 -0
- package/dist/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/ado.js +223 -0
- package/dist/cli/helpers/issue-tracker/ado.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/github.d.ts +65 -0
- package/dist/cli/helpers/issue-tracker/github.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/github.js +284 -0
- package/dist/cli/helpers/issue-tracker/github.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/index.d.ts +22 -0
- package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/index.js +270 -0
- package/dist/cli/helpers/issue-tracker/index.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/jira.d.ts +61 -0
- package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/jira.js +265 -0
- package/dist/cli/helpers/issue-tracker/jira.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/types.d.ts +86 -0
- package/dist/cli/helpers/issue-tracker/types.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/types.js +16 -0
- package/dist/cli/helpers/issue-tracker/types.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/utils.d.ts +103 -0
- package/dist/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/utils.js +240 -0
- package/dist/cli/helpers/issue-tracker/utils.js.map +1 -0
- package/dist/core/increment/limits.d.ts +68 -0
- package/dist/core/increment/limits.d.ts.map +1 -0
- package/dist/core/increment/limits.js +224 -0
- package/dist/core/increment/limits.js.map +1 -0
- package/dist/core/increment/metadata-manager.d.ts +114 -0
- package/dist/core/increment/metadata-manager.d.ts.map +1 -0
- package/dist/core/increment/metadata-manager.js +320 -0
- package/dist/core/increment/metadata-manager.js.map +1 -0
- package/dist/core/increment/status-commands.d.ts +43 -0
- package/dist/core/increment/status-commands.d.ts.map +1 -0
- package/dist/core/increment/status-commands.js +277 -0
- package/dist/core/increment/status-commands.js.map +1 -0
- package/dist/core/plugin-detector.d.ts +1 -0
- package/dist/core/plugin-detector.d.ts.map +1 -1
- package/dist/core/plugin-detector.js +25 -0
- package/dist/core/plugin-detector.js.map +1 -1
- package/dist/core/qa/qa-runner.d.ts +16 -0
- package/dist/core/qa/qa-runner.d.ts.map +1 -0
- package/dist/core/qa/qa-runner.js +404 -0
- package/dist/core/qa/qa-runner.js.map +1 -0
- package/dist/core/qa/quality-gate-decider.d.ts +53 -0
- package/dist/core/qa/quality-gate-decider.d.ts.map +1 -0
- package/dist/core/qa/quality-gate-decider.js +268 -0
- package/dist/core/qa/quality-gate-decider.js.map +1 -0
- package/dist/core/qa/risk-calculator.d.ts +126 -0
- package/dist/core/qa/risk-calculator.d.ts.map +1 -0
- package/dist/core/qa/risk-calculator.js +247 -0
- package/dist/core/qa/risk-calculator.js.map +1 -0
- package/dist/core/qa/types.d.ts +315 -0
- package/dist/core/qa/types.d.ts.map +1 -0
- package/dist/core/qa/types.js +8 -0
- package/dist/core/qa/types.js.map +1 -0
- package/dist/core/types/config.d.ts +37 -2
- package/dist/core/types/config.d.ts.map +1 -1
- package/dist/core/types/config.js +16 -0
- package/dist/core/types/config.js.map +1 -1
- package/dist/core/types/increment-metadata.d.ts +120 -0
- package/dist/core/types/increment-metadata.d.ts.map +1 -0
- package/dist/core/types/increment-metadata.js +138 -0
- package/dist/core/types/increment-metadata.js.map +1 -0
- package/dist/hooks/lib/invoke-translator-skill.d.ts +60 -0
- package/dist/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
- package/dist/hooks/lib/invoke-translator-skill.js +201 -0
- package/dist/hooks/lib/invoke-translator-skill.js.map +1 -0
- package/dist/hooks/lib/translate-file.d.ts +59 -0
- package/dist/hooks/lib/translate-file.d.ts.map +1 -0
- package/dist/hooks/lib/translate-file.js +350 -0
- package/dist/hooks/lib/translate-file.js.map +1 -0
- package/dist/locales/en/cli.json +3 -1
- package/dist/metrics/calculators/change-failure-rate.d.ts +22 -0
- package/dist/metrics/calculators/change-failure-rate.d.ts.map +1 -0
- package/dist/metrics/calculators/change-failure-rate.js +70 -0
- package/dist/metrics/calculators/change-failure-rate.js.map +1 -0
- package/dist/metrics/calculators/deployment-frequency.d.ts +20 -0
- package/dist/metrics/calculators/deployment-frequency.d.ts.map +1 -0
- package/dist/metrics/calculators/deployment-frequency.js +61 -0
- package/dist/metrics/calculators/deployment-frequency.js.map +1 -0
- package/dist/metrics/calculators/lead-time.d.ts +22 -0
- package/dist/metrics/calculators/lead-time.d.ts.map +1 -0
- package/dist/metrics/calculators/lead-time.js +82 -0
- package/dist/metrics/calculators/lead-time.js.map +1 -0
- package/dist/metrics/calculators/mttr.d.ts +21 -0
- package/dist/metrics/calculators/mttr.d.ts.map +1 -0
- package/dist/metrics/calculators/mttr.js +60 -0
- package/dist/metrics/calculators/mttr.js.map +1 -0
- package/dist/metrics/dora-calculator.d.ts +24 -0
- package/dist/metrics/dora-calculator.d.ts.map +1 -0
- package/dist/metrics/dora-calculator.js +104 -0
- package/dist/metrics/dora-calculator.js.map +1 -0
- package/dist/metrics/github-client.d.ts +51 -0
- package/dist/metrics/github-client.d.ts.map +1 -0
- package/dist/metrics/github-client.js +133 -0
- package/dist/metrics/github-client.js.map +1 -0
- package/dist/metrics/types.d.ts +112 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +10 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/metrics/utils/percentile.d.ts +25 -0
- package/dist/metrics/utils/percentile.d.ts.map +1 -0
- package/dist/metrics/utils/percentile.js +46 -0
- package/dist/metrics/utils/percentile.js.map +1 -0
- package/dist/metrics/utils/tier-classifier.d.ts +61 -0
- package/dist/metrics/utils/tier-classifier.d.ts.map +1 -0
- package/dist/metrics/utils/tier-classifier.js +100 -0
- package/dist/metrics/utils/tier-classifier.js.map +1 -0
- package/dist/utils/auth-helpers.d.ts +58 -0
- package/dist/utils/auth-helpers.d.ts.map +1 -0
- package/dist/utils/auth-helpers.js +108 -0
- package/dist/utils/auth-helpers.js.map +1 -0
- package/dist/utils/env-file.d.ts +88 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +180 -0
- package/dist/utils/env-file.js.map +1 -0
- package/dist/utils/plugin-detection.d.ts +50 -0
- package/dist/utils/plugin-detection.d.ts.map +1 -0
- package/dist/utils/plugin-detection.js +229 -0
- package/dist/utils/plugin-detection.js.map +1 -0
- package/dist/utils/secrets-loader.d.ts +88 -0
- package/dist/utils/secrets-loader.d.ts.map +1 -0
- package/dist/utils/secrets-loader.js +271 -0
- package/dist/utils/secrets-loader.js.map +1 -0
- package/dist/utils/translation.d.ts +187 -0
- package/dist/utils/translation.d.ts.map +1 -0
- package/dist/utils/translation.js +414 -0
- package/dist/utils/translation.js.map +1 -0
- package/package.json +28 -44
- package/plugins/specweave/.claude-plugin/plugin.json +3 -3
- package/plugins/specweave/agents/pm/AGENT.md +330 -54
- package/plugins/specweave/agents/test-aware-planner/AGENT.md +1035 -0
- package/plugins/specweave/agents/test-aware-planner/templates/README.md +118 -0
- package/plugins/specweave/agents/test-aware-planner/templates/task-non-testable.md.template +24 -0
- package/plugins/specweave/agents/test-aware-planner/templates/task-testable.md.template +53 -0
- package/plugins/specweave/agents/test-aware-planner/templates/tasks-frontmatter.md.template +11 -0
- package/plugins/specweave/commands/README.md +88 -163
- package/plugins/specweave/commands/specweave-abandon.md +314 -0
- package/plugins/specweave/commands/specweave-check-tests.md +546 -0
- package/plugins/specweave/commands/{do.md → specweave-do.md} +5 -5
- package/plugins/specweave/commands/{done.md → specweave-done.md} +2 -0
- package/plugins/specweave/commands/{increment.md → specweave-increment.md} +231 -4
- package/plugins/specweave/commands/specweave-pause.md +189 -0
- package/plugins/specweave/commands/specweave-qa.md +245 -0
- package/plugins/specweave/commands/specweave-resume.md +216 -0
- package/plugins/specweave/commands/specweave-status.md +397 -0
- package/plugins/specweave/commands/specweave-sync-tasks.md +256 -0
- package/plugins/specweave/commands/{translate.md → specweave-translate.md} +3 -3
- package/plugins/specweave/commands/specweave-update-scope.md +351 -0
- package/plugins/specweave/commands/{validate.md → specweave-validate.md} +2 -0
- package/plugins/specweave/commands/specweave.md +21 -21
- package/plugins/specweave/hooks/docs-changed.sh +23 -3
- package/plugins/specweave/hooks/human-input-required.sh +23 -3
- package/plugins/specweave/hooks/post-increment-planning.sh +335 -0
- package/plugins/specweave/hooks/post-task-completion.sh +161 -1
- package/plugins/specweave/hooks/pre-implementation.sh +23 -3
- package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
- package/plugins/specweave/skills/brownfield-analyzer/SKILL.md +9 -9
- package/plugins/specweave/skills/increment-planner/SKILL.md +400 -212
- package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +499 -0
- package/plugins/specweave/skills/plugin-detector/SKILL.md +114 -1
- package/plugins/specweave/skills/project-kickstarter/SKILL.md +74 -1
- package/plugins/specweave/skills/{rfc-generator → spec-generator}/SKILL.md +22 -29
- package/plugins/specweave/skills/specweave-detector/SKILL.md +3 -3
- package/plugins/specweave/skills/specweave-framework/SKILL.md +2 -2
- package/plugins/specweave-ado/.claude-plugin/plugin.json +18 -4
- package/plugins/specweave-ado/agents/ado-manager/AGENT.md +426 -0
- package/plugins/specweave-ado/commands/close-workitem.md +52 -0
- package/plugins/specweave-ado/commands/create-workitem.md +53 -0
- package/plugins/specweave-ado/commands/status.md +53 -0
- package/plugins/specweave-ado/commands/sync.md +55 -0
- package/plugins/specweave-ado/lib/ado-client.ts +361 -0
- package/plugins/specweave-ado/reference/ado-specweave-mapping.md +552 -0
- package/plugins/specweave-ado/skills/ado-sync/SKILL.md +344 -193
- package/plugins/specweave-docs/skills/docusaurus/SKILL.md +73 -0
- package/plugins/specweave-github/agents/github-manager/AGENT.md +49 -0
- package/plugins/specweave-github/commands/{github-close-issue.md → close-issue.md} +1 -1
- package/plugins/specweave-github/commands/{github-create-issue.md → create-issue.md} +1 -1
- package/plugins/specweave-github/commands/{github-status.md → status.md} +1 -1
- package/plugins/specweave-github/commands/{github-sync-tasks.md → sync-tasks.md} +1 -1
- package/plugins/specweave-github/commands/{github-sync.md → sync.md} +1 -1
- package/plugins/specweave-github/reference/github-specweave-mapping.md +377 -0
- package/plugins/specweave-github/skills/github-sync/SKILL.md +11 -3
- package/plugins/specweave-infrastructure/commands/{specweave.monitor-setup.md → monitor-setup.md} +5 -0
- package/plugins/specweave-infrastructure/commands/{specweave.slo-implement.md → slo-implement.md} +5 -0
- package/plugins/specweave-jira/agents/jira-manager/AGENT.md +380 -0
- package/plugins/specweave-jira/commands/{specweave.sync-jira.md → sync.md} +1 -1
- package/plugins/specweave-jira/reference/jira-specweave-mapping.md +508 -0
- package/plugins/specweave-ml/commands/ml-deploy.md +1 -1
- package/plugins/specweave-ml/commands/ml-evaluate.md +1 -1
- package/plugins/specweave-ml/commands/ml-explain.md +1 -1
- package/plugins/specweave-ml/commands/{specweave.ml-pipeline.md → ml-pipeline.md} +5 -0
- package/src/templates/AGENTS.md.template +652 -1
- package/src/templates/CLAUDE.md.template +36 -21
- package/src/templates/COMPLETION-REPORT.template.md +128 -0
- package/src/templates/README.md.template +17 -16
- package/src/templates/docs/README.md +11 -9
- package/src/templates/docs/spec-template.md +229 -0
- package/dist/adapters/copilot/adapter.d.ts +0 -86
- package/dist/adapters/copilot/adapter.d.ts.map +0 -1
- package/dist/adapters/copilot/adapter.js +0 -396
- package/dist/adapters/copilot/adapter.js.map +0 -1
- package/plugins/.specweave/logs/hooks-debug.log +0 -24
- package/plugins/.specweave/logs/last-hook-fire +0 -1
- package/plugins/.specweave/logs/last-todowrite-time +0 -1
- package/plugins/.specweave/logs/tasks.log +0 -6
- package/plugins/specweave/commands/inc.md +0 -85
- package/plugins/specweave/commands/list-increments.md +0 -180
- package/src/adapters/README.md +0 -311
- package/src/adapters/adapter-base.ts +0 -182
- package/src/adapters/adapter-interface.ts +0 -166
- package/src/adapters/adapter-loader.ts +0 -259
- package/src/adapters/agents-md-generator.ts +0 -228
- package/src/adapters/claude/README.md +0 -233
- package/src/adapters/claude/adapter.ts +0 -468
- package/src/adapters/claude-md-generator.ts +0 -377
- package/src/adapters/codex/README.md +0 -105
- package/src/adapters/codex/adapter.ts +0 -333
- package/src/adapters/copilot/README.md +0 -240
- package/src/adapters/copilot/adapter.ts +0 -444
- package/src/adapters/cursor/.cursor/context/docs-context.md +0 -62
- package/src/adapters/cursor/.cursor/context/increments-context.md +0 -71
- package/src/adapters/cursor/.cursor/context/strategy-context.md +0 -73
- package/src/adapters/cursor/.cursor/context/tests-context.md +0 -89
- package/src/adapters/cursor/README.md +0 -283
- package/src/adapters/cursor/adapter.ts +0 -451
- package/src/adapters/doc-generator.ts +0 -331
- package/src/adapters/gemini/README.md +0 -97
- package/src/adapters/gemini/adapter.ts +0 -298
- package/src/adapters/generic/README.md +0 -277
- package/src/adapters/generic/adapter.ts +0 -359
- package/src/adapters/registry.yaml +0 -187
- /package/plugins/specweave/commands/{costs.md → specweave-costs.md} +0 -0
- /package/plugins/specweave/commands/{next.md → specweave-next.md} +0 -0
- /package/plugins/specweave/commands/{progress.md → specweave-progress.md} +0 -0
- /package/plugins/specweave/commands/{sync-docs.md → specweave-sync-docs.md} +0 -0
- /package/plugins/specweave/commands/{tdd-cycle.md → specweave-tdd-cycle.md} +0 -0
- /package/plugins/specweave/commands/{tdd-green.md → specweave-tdd-green.md} +0 -0
- /package/plugins/specweave/commands/{tdd-red.md → specweave-tdd-red.md} +0 -0
- /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]" | `/
|
|
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 `/
|
|
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
|
-
/
|
|
412
|
+
/specweave:increment "your feature description"
|
|
398
413
|
```
|
|
399
414
|
|
|
400
415
|
**Typical Workflow**:
|
|
401
|
-
1. `/
|
|
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 `/
|
|
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
|
-
/
|
|
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 `/
|
|
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
|
-
│ ├──
|
|
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** (`/
|
|
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
|
-
/
|
|
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
|
-
| `/
|
|
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
|
-
/
|
|
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/
|
|
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
|
-
- **`
|
|
30
|
+
- **`spec-template.md`** - Specification (formerly RFC)
|
|
31
31
|
- **Purpose**: Propose API designs, schema changes, major features
|
|
32
|
-
- **Location**: `docs/internal/
|
|
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/
|
|
38
|
-
|
|
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
|
|
70
|
+
4. **Create Spec** (for API design):
|
|
70
71
|
```bash
|
|
71
|
-
NEXT=$(printf "%04d" $(($(ls docs/internal/
|
|
72
|
-
|
|
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
|
-
-
|
|
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"}
|