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
|
@@ -44,7 +44,7 @@ This is a **SpecWeave project** where specifications and documentation are the s
|
|
|
44
44
|
.claude/ # Claude Code components (if using Claude)
|
|
45
45
|
├── agents/ # Specialized roles (PM, Architect, DevOps, etc.)
|
|
46
46
|
├── skills/ # Capabilities (increment-planner, context-loader, etc.)
|
|
47
|
-
└── commands/ # Slash commands (/
|
|
47
|
+
└── commands/ # Slash commands (/specweave:increment, /specweave:do, /specweave:done)
|
|
48
48
|
|
|
49
49
|
plugins/ # Optional plugins (extended capabilities)
|
|
50
50
|
└── specweave-{name}/
|
|
@@ -205,6 +205,439 @@ cat plugins/specweave-github/commands/github-sync.md
|
|
|
205
205
|
|
|
206
206
|
---
|
|
207
207
|
|
|
208
|
+
## 🚀 SpecWeave Commands (Executable Workflows)
|
|
209
|
+
|
|
210
|
+
**⚡ CRITICAL FOR NON-CLAUDE TOOLS**: Commands are NOT automatic in GitHub Copilot, Cursor, or other tools. You MUST manually discover and execute them.
|
|
211
|
+
|
|
212
|
+
### What Are Commands?
|
|
213
|
+
|
|
214
|
+
Commands are **executable workflows** defined as `.md` files in `plugins/specweave/commands/`. Each file contains:
|
|
215
|
+
- Command name (from filename, e.g., `specweave-increment.md` → `/specweave:increment`)
|
|
216
|
+
- Complete workflow instructions
|
|
217
|
+
- Parameters and usage examples
|
|
218
|
+
- Step-by-step execution guide
|
|
219
|
+
|
|
220
|
+
**Think of them as runnable scripts** - when user requests a command, you read the file and execute the workflow.
|
|
221
|
+
|
|
222
|
+
### Command Discovery (MANDATORY!)
|
|
223
|
+
|
|
224
|
+
**At the start of EVERY session**, discover available commands:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# List all core commands
|
|
228
|
+
ls plugins/specweave/commands/
|
|
229
|
+
|
|
230
|
+
# Common output:
|
|
231
|
+
# specweave-increment.md - Plan new increment (/specweave:increment "feature")
|
|
232
|
+
# specweave-do.md - Execute implementation (/specweave:do)
|
|
233
|
+
# specweave-done.md - Close increment (/specweave:done 0001)
|
|
234
|
+
# specweave-validate.md - Validate increment (/specweave:validate 0001)
|
|
235
|
+
# specweave-progress.md - Check status (/specweave:progress)
|
|
236
|
+
# specweave-sync-docs.md - Sync living docs (/specweave:sync-docs)
|
|
237
|
+
# specweave-next.md - Smart increment transition (/specweave:next)
|
|
238
|
+
# specweave-costs.md - Display AI cost dashboard (/specweave:costs)
|
|
239
|
+
# specweave-translate.md - Translate content (/specweave:translate)
|
|
240
|
+
# tdd-*.md - TDD workflow commands
|
|
241
|
+
# ... (17 commands total)
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**For plugin commands** (if plugins/ folder exists):
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
# List plugin commands
|
|
248
|
+
ls plugins/specweave-github/commands/
|
|
249
|
+
|
|
250
|
+
# Example output:
|
|
251
|
+
# github-create-issue.md
|
|
252
|
+
# github-sync.md
|
|
253
|
+
# github-close-issue.md
|
|
254
|
+
# github-status.md
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### How to Execute Commands (Step-by-Step)
|
|
258
|
+
|
|
259
|
+
**When user says**: "create new increment for user auth" or "run /specweave:increment user auth"
|
|
260
|
+
|
|
261
|
+
**You should**:
|
|
262
|
+
|
|
263
|
+
1. **Identify the command**:
|
|
264
|
+
- Keywords match: "create increment" → `specweave-increment.md`
|
|
265
|
+
- Explicit slash: "/specweave:increment" → `specweave-increment.md`
|
|
266
|
+
- Map request to command file
|
|
267
|
+
|
|
268
|
+
2. **Read the command file**:
|
|
269
|
+
```bash
|
|
270
|
+
cat plugins/specweave/commands/specweave-increment.md
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
3. **Parse the workflow**:
|
|
274
|
+
- Read YAML frontmatter for metadata
|
|
275
|
+
- Read markdown body for steps
|
|
276
|
+
- Note required parameters
|
|
277
|
+
- Understand expected output
|
|
278
|
+
|
|
279
|
+
4. **Execute the workflow**:
|
|
280
|
+
- Follow instructions EXACTLY as written
|
|
281
|
+
- Use parameters from user request
|
|
282
|
+
- Reference related files (spec templates, etc.)
|
|
283
|
+
- Show progress as you work
|
|
284
|
+
|
|
285
|
+
5. **Provide output**:
|
|
286
|
+
- Confirm completion
|
|
287
|
+
- Show created files
|
|
288
|
+
- Suggest next steps
|
|
289
|
+
|
|
290
|
+
### Example: Executing /specweave:increment Command
|
|
291
|
+
|
|
292
|
+
**User says**: "create new increment for user authentication"
|
|
293
|
+
|
|
294
|
+
**Your workflow**:
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
# Step 1: Identify command
|
|
298
|
+
# "create increment" → specweave-increment.md
|
|
299
|
+
|
|
300
|
+
# Step 2: Read command file
|
|
301
|
+
cat plugins/specweave/commands/specweave-increment.md
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
**After reading specweave-increment.md, you learn**:
|
|
305
|
+
- This is PM-led increment planning
|
|
306
|
+
- Requires: feature description
|
|
307
|
+
- Creates: spec.md, plan.md, tasks.md, tests.md
|
|
308
|
+
- Location: `.specweave/increments/####-feature-name/`
|
|
309
|
+
|
|
310
|
+
**Step 3: Execute workflow from inc.md**:
|
|
311
|
+
|
|
312
|
+
```markdown
|
|
313
|
+
# You see these instructions in inc.md:
|
|
314
|
+
|
|
315
|
+
1. **Detect tech stack** (TypeScript, Python, Go, etc.)
|
|
316
|
+
2. **PM-led planning**:
|
|
317
|
+
- Market research
|
|
318
|
+
- Create spec.md (WHAT & WHY)
|
|
319
|
+
- Create plan.md (HOW)
|
|
320
|
+
- Auto-generate tasks.md from plan
|
|
321
|
+
- Create tests.md (test strategy)
|
|
322
|
+
3. **Strategic agent review**:
|
|
323
|
+
- Architect designs system
|
|
324
|
+
- Security reviews threats
|
|
325
|
+
- QA defines test strategy
|
|
326
|
+
4. **User review checkpoint**
|
|
327
|
+
5. **Ready to build**
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**Step 4: Execute those steps**:
|
|
331
|
+
|
|
332
|
+
```
|
|
333
|
+
📂 Creating increment 0001-user-authentication...
|
|
334
|
+
|
|
335
|
+
🔍 Tech stack detected: TypeScript + Node.js + PostgreSQL
|
|
336
|
+
|
|
337
|
+
👔 Adopting PM role to create spec.md...
|
|
338
|
+
✓ Market research: Auth requirements
|
|
339
|
+
✓ User stories: Login, Register, Password Reset
|
|
340
|
+
✓ Acceptance criteria: TC-0001 to TC-0015
|
|
341
|
+
✓ Created spec.md (WHAT & WHY, technology-agnostic)
|
|
342
|
+
|
|
343
|
+
🏗️ Adopting Architect role to create plan.md...
|
|
344
|
+
✓ Architecture: JWT + bcrypt + Prisma
|
|
345
|
+
✓ API contracts: POST /auth/login, /auth/register
|
|
346
|
+
✓ Data model: User table schema
|
|
347
|
+
✓ Created plan.md (HOW, technology-specific)
|
|
348
|
+
|
|
349
|
+
📋 Auto-generating tasks.md from plan.md...
|
|
350
|
+
✓ Generated 42 tasks with model hints
|
|
351
|
+
✓ Estimated: 3-4 weeks
|
|
352
|
+
|
|
353
|
+
🧪 Creating tests.md (QA strategy)...
|
|
354
|
+
✓ 12 test cases, 85% coverage target
|
|
355
|
+
|
|
356
|
+
✅ Increment 0001-user-authentication ready!
|
|
357
|
+
|
|
358
|
+
Next: /specweave:do (execute implementation)
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**Step 5: Confirm completion**:
|
|
362
|
+
|
|
363
|
+
```
|
|
364
|
+
✅ Created increment 0001-user-authentication
|
|
365
|
+
|
|
366
|
+
Files:
|
|
367
|
+
• .specweave/increments/0001-user-authentication/spec.md
|
|
368
|
+
• .specweave/increments/0001-user-authentication/plan.md
|
|
369
|
+
• .specweave/increments/0001-user-authentication/tasks.md
|
|
370
|
+
• .specweave/increments/0001-user-authentication/tests.md
|
|
371
|
+
|
|
372
|
+
Next steps:
|
|
373
|
+
1. Review generated files
|
|
374
|
+
2. Run: /specweave:do (execute implementation)
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
### Core Command Reference
|
|
378
|
+
|
|
379
|
+
**Most Common** (use these daily):
|
|
380
|
+
|
|
381
|
+
| Command | File | Purpose | Example |
|
|
382
|
+
|---------|------|---------|---------|
|
|
383
|
+
| `/specweave:increment` | `specweave-increment.md` | Plan new increment | `/specweave:increment "user auth"` |
|
|
384
|
+
| `/specweave:do` | `specweave-do.md` | Execute implementation | `/specweave:do` |
|
|
385
|
+
| `/specweave:done` | `specweave-done.md` | Close increment | `/specweave:done 0001` |
|
|
386
|
+
| `/specweave:validate` | `specweave-validate.md` | Validate quality | `/specweave:validate 0001` |
|
|
387
|
+
| `/specweave:progress` | `specweave-progress.md` | Check status | `/specweave:progress` |
|
|
388
|
+
|
|
389
|
+
**Specialized** (use when needed):
|
|
390
|
+
|
|
391
|
+
| Command | File | Purpose | Example |
|
|
392
|
+
|---------|------|---------|---------|
|
|
393
|
+
| `/specweave:sync-docs` | `specweave-sync-docs.md` | Sync living docs | `/specweave:sync-docs update` |
|
|
394
|
+
| `/specweave:next` | `specweave-next.md` | Smart increment transition | `/specweave:next` |
|
|
395
|
+
| `/specweave:costs` | `specweave-costs.md` | AI cost dashboard | `/specweave:costs 0001` |
|
|
396
|
+
| `/specweave:translate` | `specweave-translate.md` | Translate content | `/specweave:translate ru` |
|
|
397
|
+
| `/specweave:tdd-cycle` | `specweave-tdd-cycle.md` | TDD workflow | `/specweave:tdd-cycle` |
|
|
398
|
+
|
|
399
|
+
**Plugin Commands** (when plugins installed):
|
|
400
|
+
|
|
401
|
+
| Command | File | Purpose | Plugin |
|
|
402
|
+
|---------|------|---------|--------|
|
|
403
|
+
| `/github:sync` | `plugins/specweave-github/commands/github-sync.md` | Sync to GitHub | specweave-github |
|
|
404
|
+
| `/github:create-issue` | `plugins/specweave-github/commands/github-create-issue.md` | Create GitHub issue | specweave-github |
|
|
405
|
+
| `/sync-tasks` | `commands/sync-tasks.md` | Sync tasks.md status | specweave (core) |
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
### 🚨 CRITICAL: Task Completion Tracking
|
|
410
|
+
|
|
411
|
+
**Problem**: Commands like `/progress`, `/validate`, `/done` rely on `tasks.md` status being accurate.
|
|
412
|
+
If tasks.md shows "1/24 complete" but you've actually finished 24 tasks, everything breaks!
|
|
413
|
+
|
|
414
|
+
**Solution**: Update `tasks.md` after EACH task completes.
|
|
415
|
+
|
|
416
|
+
#### For Claude Code Users (Automatic ✅)
|
|
417
|
+
|
|
418
|
+
**Good news**: This happens automatically via `post-task-completion.sh` hook!
|
|
419
|
+
|
|
420
|
+
When you complete a task (mark todo as done), the hook:
|
|
421
|
+
1. ✅ Detects completion
|
|
422
|
+
2. ✅ Updates corresponding task in tasks.md
|
|
423
|
+
3. ✅ Recalculates progress %
|
|
424
|
+
4. ✅ Syncs to GitHub issue (if enabled)
|
|
425
|
+
|
|
426
|
+
**You don't need to do anything manually!**
|
|
427
|
+
|
|
428
|
+
#### For Other AI Tools (Manual ⚠️)
|
|
429
|
+
|
|
430
|
+
**⚠️ IMPORTANT**: After completing EACH task, manually update tasks.md:
|
|
431
|
+
|
|
432
|
+
**Step-by-Step**:
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
# Example: You just completed T-001
|
|
436
|
+
|
|
437
|
+
# 1. Open tasks.md
|
|
438
|
+
vim .specweave/increments/0007-feature-name/tasks.md
|
|
439
|
+
|
|
440
|
+
# 2. Find the task you completed
|
|
441
|
+
#### T-001: Implement authentication service
|
|
442
|
+
|
|
443
|
+
# 3. Change status from pending to completed
|
|
444
|
+
**Status**: [ ] pending
|
|
445
|
+
# ↓ Change to ↓
|
|
446
|
+
**Status**: [x] completed
|
|
447
|
+
|
|
448
|
+
# 4. Update progress counters at the top
|
|
449
|
+
**Completed**: 0 # ← Increment this (0 → 1)
|
|
450
|
+
**Progress**: 0% # ← Recalculate (1/24 = 4%)
|
|
451
|
+
|
|
452
|
+
# 5. Save and commit
|
|
453
|
+
git add .specweave/increments/0007-feature-name/tasks.md
|
|
454
|
+
git commit -m "chore: mark T-001 as complete"
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
**Why This Matters**:
|
|
458
|
+
- `/progress` shows accurate completion % ✅
|
|
459
|
+
- `/validate` checks pass ✅
|
|
460
|
+
- `/done` can close the increment ✅
|
|
461
|
+
- Team knows real status ✅
|
|
462
|
+
|
|
463
|
+
**Validation Check**:
|
|
464
|
+
```bash
|
|
465
|
+
# Verify tasks.md is in sync
|
|
466
|
+
/sync-tasks --validate
|
|
467
|
+
|
|
468
|
+
# If out of sync:
|
|
469
|
+
/sync-tasks # Auto-fix from GitHub or git history
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
**Quick Reference Card** (print and keep handy):
|
|
473
|
+
|
|
474
|
+
```
|
|
475
|
+
┌────────────────────────────────────────────────┐
|
|
476
|
+
│ AFTER EACH TASK: Update tasks.md Status │
|
|
477
|
+
├────────────────────────────────────────────────┤
|
|
478
|
+
│ 1. Open: .specweave/increments/XXXX/tasks.md │
|
|
479
|
+
│ 2. Find: #### T-XXX │
|
|
480
|
+
│ 3. Change: [ ] pending → [x] completed │
|
|
481
|
+
│ 4. Update: Completed count & Progress % │
|
|
482
|
+
│ 5. Commit: git commit -m "chore: mark done" │
|
|
483
|
+
└────────────────────────────────────────────────┘
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
### Command Execution Pattern (Template)
|
|
489
|
+
|
|
490
|
+
Use this pattern for ANY command execution:
|
|
491
|
+
|
|
492
|
+
```bash
|
|
493
|
+
# 1. User request
|
|
494
|
+
# User: "sync to GitHub"
|
|
495
|
+
|
|
496
|
+
# 2. Identify command
|
|
497
|
+
# Keywords: "sync", "GitHub" → github-sync.md
|
|
498
|
+
|
|
499
|
+
# 3. Read command file
|
|
500
|
+
cat plugins/specweave-github/commands/github-sync.md
|
|
501
|
+
|
|
502
|
+
# 4. Parse workflow
|
|
503
|
+
# - Requires: increment ID, GitHub token
|
|
504
|
+
# - Creates: GitHub issue
|
|
505
|
+
# - Syncs: tasks, progress, labels
|
|
506
|
+
|
|
507
|
+
# 5. Execute workflow
|
|
508
|
+
# Follow steps in github-sync.md:
|
|
509
|
+
# - Load increment
|
|
510
|
+
# - Create/update GitHub issue
|
|
511
|
+
# - Sync task checklist
|
|
512
|
+
# - Add labels and milestone
|
|
513
|
+
# - Post comment with summary
|
|
514
|
+
|
|
515
|
+
# 6. Confirm completion
|
|
516
|
+
# "✅ Synced increment 0001 to GitHub issue #42"
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
### Why This Matters (Claude Code vs Other Tools)
|
|
520
|
+
|
|
521
|
+
**Claude Code** (automatic):
|
|
522
|
+
- Commands work via native slash syntax: `/inc "feature"`
|
|
523
|
+
- No manual reading needed
|
|
524
|
+
- Commands execute automatically
|
|
525
|
+
|
|
526
|
+
**Other Tools** (manual):
|
|
527
|
+
- ❌ No native command support
|
|
528
|
+
- ✅ **Solution**: Read command .md file and execute workflow
|
|
529
|
+
- Commands become "pseudo-executable" via this pattern
|
|
530
|
+
- Same workflows, just manual discovery
|
|
531
|
+
|
|
532
|
+
**GitHub Copilot Example**:
|
|
533
|
+
|
|
534
|
+
```
|
|
535
|
+
User: "create increment for payments"
|
|
536
|
+
|
|
537
|
+
Copilot (you):
|
|
538
|
+
1. Recognize command request: "create increment" → /inc
|
|
539
|
+
2. Read: cat plugins/specweave/commands/inc.md
|
|
540
|
+
3. Execute: Follow PM-led workflow from inc.md
|
|
541
|
+
4. Create: spec.md, plan.md, tasks.md in .specweave/increments/0002-payments/
|
|
542
|
+
5. Confirm: "✅ Increment 0002-payments created"
|
|
543
|
+
|
|
544
|
+
User gets SAME result as Claude Code, just via manual execution!
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
### Command Discovery Checklist (Session Start)
|
|
548
|
+
|
|
549
|
+
**MANDATORY for non-Claude tools**:
|
|
550
|
+
|
|
551
|
+
```bash
|
|
552
|
+
# 1. Discover core commands
|
|
553
|
+
ls plugins/specweave/commands/
|
|
554
|
+
# Note: 17 commands available (inc, do, done, validate, etc.)
|
|
555
|
+
|
|
556
|
+
# 2. Check for plugin commands
|
|
557
|
+
if [ -d "plugins/specweave-github" ]; then
|
|
558
|
+
ls plugins/specweave-github/commands/
|
|
559
|
+
# Note: 4 GitHub commands available
|
|
560
|
+
fi
|
|
561
|
+
|
|
562
|
+
# 3. Document available commands
|
|
563
|
+
echo "Session Context:
|
|
564
|
+
- Core commands: 17 available (inc, do, done, validate, ...)
|
|
565
|
+
- Plugin commands: 4 GitHub commands (if plugin installed)
|
|
566
|
+
- Command execution: Read .md file → Execute workflow
|
|
567
|
+
"
|
|
568
|
+
|
|
569
|
+
# 4. Ready to execute commands when requested
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
### Advanced: Batch Command Execution
|
|
573
|
+
|
|
574
|
+
Some workflows require multiple commands:
|
|
575
|
+
|
|
576
|
+
**Example**: Complete increment lifecycle
|
|
577
|
+
|
|
578
|
+
```bash
|
|
579
|
+
# User: "Plan, build, and close user auth feature"
|
|
580
|
+
|
|
581
|
+
# Step 1: Execute /inc
|
|
582
|
+
cat plugins/specweave/commands/inc.md
|
|
583
|
+
# → Create spec.md, plan.md, tasks.md
|
|
584
|
+
|
|
585
|
+
# Step 2: Execute /do
|
|
586
|
+
cat plugins/specweave/commands/do.md
|
|
587
|
+
# → Execute all 42 tasks
|
|
588
|
+
|
|
589
|
+
# Step 3: Execute /validate
|
|
590
|
+
cat plugins/specweave/commands/validate.md
|
|
591
|
+
# → Quality checks
|
|
592
|
+
|
|
593
|
+
# Step 4: Execute /done
|
|
594
|
+
cat plugins/specweave/commands/done.md
|
|
595
|
+
# → PM validation and closure
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
### Troubleshooting
|
|
599
|
+
|
|
600
|
+
**Command file not found?**
|
|
601
|
+
|
|
602
|
+
```bash
|
|
603
|
+
# Check if command exists
|
|
604
|
+
ls plugins/specweave/commands/ | grep inc
|
|
605
|
+
# If not found, command doesn't exist
|
|
606
|
+
|
|
607
|
+
# Check plugin commands
|
|
608
|
+
ls plugins/specweave-*/commands/
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
**Command syntax unclear?**
|
|
612
|
+
|
|
613
|
+
```bash
|
|
614
|
+
# Read command README
|
|
615
|
+
cat plugins/specweave/commands/README.md
|
|
616
|
+
# Contains overview of all commands
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
**Command fails during execution?**
|
|
620
|
+
|
|
621
|
+
- Re-read command file for missed steps
|
|
622
|
+
- Check required files exist (spec.md, plan.md, etc.)
|
|
623
|
+
- Verify parameters are correct
|
|
624
|
+
- Check error messages for hints
|
|
625
|
+
|
|
626
|
+
### Summary: Making Commands Work Without Claude Code
|
|
627
|
+
|
|
628
|
+
**The Key Insight**: Commands are just markdown files with workflows!
|
|
629
|
+
|
|
630
|
+
1. **Discover**: `ls plugins/specweave/commands/`
|
|
631
|
+
2. **Read**: `cat plugins/specweave/commands/{command}.md`
|
|
632
|
+
3. **Execute**: Follow the workflow in the file
|
|
633
|
+
4. **Confirm**: Show completion and next steps
|
|
634
|
+
|
|
635
|
+
**Result**: GitHub Copilot, Cursor, and other tools get the SAME SpecWeave command capabilities as Claude Code, just via manual execution instead of slash syntax.
|
|
636
|
+
|
|
637
|
+
**This is CRITICAL** - without command execution, you're missing 90% of SpecWeave's automation!
|
|
638
|
+
|
|
639
|
+
---
|
|
640
|
+
|
|
208
641
|
## Available Agents (Specialized Roles)
|
|
209
642
|
|
|
210
643
|
SpecWeave uses role-based development. When working on tasks, adopt the appropriate role:
|
|
@@ -716,6 +1149,224 @@ Only **Claude Code** has automatic hooks that remind you to update docs.
|
|
|
716
1149
|
|
|
717
1150
|
---
|
|
718
1151
|
|
|
1152
|
+
## 🔗 External Tracker Sync (CRITICAL FOR NON-CLAUDE TOOLS)
|
|
1153
|
+
|
|
1154
|
+
**IMPORTANT**: Claude Code has automatic hooks that sync to external trackers (GitHub Issues, Jira, Azure DevOps) after each task completion. **GitHub Copilot, Cursor, and other tools DO NOT have these hooks!**
|
|
1155
|
+
|
|
1156
|
+
### You MUST Manually Sync to External Trackers After Every Task
|
|
1157
|
+
|
|
1158
|
+
When you complete ANY task, you MUST sync progress to external trackers if they are enabled for the project.
|
|
1159
|
+
|
|
1160
|
+
#### Step 1: Detect Which Trackers Are Enabled
|
|
1161
|
+
|
|
1162
|
+
Check the current increment's `metadata.json`:
|
|
1163
|
+
|
|
1164
|
+
```bash
|
|
1165
|
+
# Find current increment (latest non-backlog increment)
|
|
1166
|
+
CURRENT_INCREMENT=$(ls -t .specweave/increments/ 2>/dev/null | grep -v "_backlog" | head -1)
|
|
1167
|
+
|
|
1168
|
+
# Check metadata
|
|
1169
|
+
cat .specweave/increments/$CURRENT_INCREMENT/metadata.json
|
|
1170
|
+
```
|
|
1171
|
+
|
|
1172
|
+
**Example metadata.json**:
|
|
1173
|
+
```json
|
|
1174
|
+
{
|
|
1175
|
+
"id": "0007-smart-increment-discipline",
|
|
1176
|
+
"title": "Increment Management v2.0",
|
|
1177
|
+
"status": "active",
|
|
1178
|
+
"github": {
|
|
1179
|
+
"issue": 4,
|
|
1180
|
+
"url": "https://github.com/anton-abyzov/specweave/issues/4"
|
|
1181
|
+
},
|
|
1182
|
+
"jira": {
|
|
1183
|
+
"issue": "PROJ-123",
|
|
1184
|
+
"url": "https://company.atlassian.net/browse/PROJ-123"
|
|
1185
|
+
},
|
|
1186
|
+
"ado": {
|
|
1187
|
+
"item": 456,
|
|
1188
|
+
"url": "https://dev.azure.com/org/project/_workitems/edit/456"
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
```
|
|
1192
|
+
|
|
1193
|
+
#### Step 2: Sync to Each Enabled Tracker
|
|
1194
|
+
|
|
1195
|
+
**For GitHub** (if `github.issue` exists):
|
|
1196
|
+
|
|
1197
|
+
```bash
|
|
1198
|
+
# Get issue number
|
|
1199
|
+
GITHUB_ISSUE=$(jq -r '.github.issue' .specweave/increments/$CURRENT_INCREMENT/metadata.json)
|
|
1200
|
+
|
|
1201
|
+
# Post progress comment
|
|
1202
|
+
gh issue comment "$GITHUB_ISSUE" --body "Progress update: Task T-XXX completed in increment $CURRENT_INCREMENT
|
|
1203
|
+
|
|
1204
|
+
Details:
|
|
1205
|
+
- Task: [Task description]
|
|
1206
|
+
- Status: Completed
|
|
1207
|
+
- Timestamp: $(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
1208
|
+
|
|
1209
|
+
Next: [Next task or completion status]
|
|
1210
|
+
"
|
|
1211
|
+
```
|
|
1212
|
+
|
|
1213
|
+
**For Jira** (if `jira.issue` exists):
|
|
1214
|
+
|
|
1215
|
+
```bash
|
|
1216
|
+
# Get issue key
|
|
1217
|
+
JIRA_ISSUE=$(jq -r '.jira.issue' .specweave/increments/$CURRENT_INCREMENT/metadata.json)
|
|
1218
|
+
|
|
1219
|
+
# Add comment (requires jira CLI: https://github.com/ankitpokhrel/jira-cli)
|
|
1220
|
+
jira issue comment add "$JIRA_ISSUE" "Progress update: Task T-XXX completed
|
|
1221
|
+
|
|
1222
|
+
Details:
|
|
1223
|
+
- Task: [Task description]
|
|
1224
|
+
- Status: Completed
|
|
1225
|
+
- Increment: $CURRENT_INCREMENT
|
|
1226
|
+
"
|
|
1227
|
+
|
|
1228
|
+
# Update status if task is major milestone
|
|
1229
|
+
# jira issue move "$JIRA_ISSUE" "In Progress" / "Review" / "Done"
|
|
1230
|
+
```
|
|
1231
|
+
|
|
1232
|
+
**For Azure DevOps** (if `ado.item` exists):
|
|
1233
|
+
|
|
1234
|
+
```bash
|
|
1235
|
+
# Get work item ID
|
|
1236
|
+
ADO_ITEM=$(jq -r '.ado.item' .specweave/increments/$CURRENT_INCREMENT/metadata.json)
|
|
1237
|
+
|
|
1238
|
+
# Add comment (requires az CLI: https://aka.ms/azure-cli)
|
|
1239
|
+
az boards work-item update --id "$ADO_ITEM" --discussion "Progress update: Task T-XXX completed
|
|
1240
|
+
|
|
1241
|
+
Details:
|
|
1242
|
+
- Task: [Task description]
|
|
1243
|
+
- Status: Completed
|
|
1244
|
+
- Increment: $CURRENT_INCREMENT
|
|
1245
|
+
"
|
|
1246
|
+
```
|
|
1247
|
+
|
|
1248
|
+
#### Step 3: When to Sync
|
|
1249
|
+
|
|
1250
|
+
**After EVERY task completion**, sync to all enabled trackers:
|
|
1251
|
+
|
|
1252
|
+
```bash
|
|
1253
|
+
# Example workflow after completing T-003:
|
|
1254
|
+
|
|
1255
|
+
# 1. Mark task complete in tasks.md
|
|
1256
|
+
vim .specweave/increments/0007-feature/tasks.md
|
|
1257
|
+
# Change: - [ ] T003: Task → - [x] T003: Task ✅
|
|
1258
|
+
|
|
1259
|
+
# 2. Update increment documentation (plan.md, etc.)
|
|
1260
|
+
# [See "Documentation Updates" section above]
|
|
1261
|
+
|
|
1262
|
+
# 3. Sync to external trackers
|
|
1263
|
+
gh issue comment 4 --body "✅ T-003 Complete: Create test-aware-planner structure
|
|
1264
|
+
|
|
1265
|
+
Directory structure created at plugins/specweave/agents/test-aware-planner/
|
|
1266
|
+
|
|
1267
|
+
Next: T-004 - Write test-aware-planner AGENT.md prompt
|
|
1268
|
+
"
|
|
1269
|
+
|
|
1270
|
+
# 4. Continue to next task
|
|
1271
|
+
```
|
|
1272
|
+
|
|
1273
|
+
#### Step 4: Update Task Checklist in GitHub/Jira
|
|
1274
|
+
|
|
1275
|
+
**For GitHub Issues with task checklists**:
|
|
1276
|
+
|
|
1277
|
+
The issue body likely contains a task checklist:
|
|
1278
|
+
|
|
1279
|
+
```markdown
|
|
1280
|
+
## Tasks
|
|
1281
|
+
- [x] T-001: Update plan.md
|
|
1282
|
+
- [x] T-002: Add auto-sync hook
|
|
1283
|
+
- [ ] T-003: Create test-aware-planner structure
|
|
1284
|
+
- [ ] T-004: Write AGENT.md prompt
|
|
1285
|
+
```
|
|
1286
|
+
|
|
1287
|
+
**Update the checklist** after each task:
|
|
1288
|
+
|
|
1289
|
+
```bash
|
|
1290
|
+
# Get current issue body
|
|
1291
|
+
gh issue view 4 --json body -q .body > issue-body.md
|
|
1292
|
+
|
|
1293
|
+
# Edit the checklist (mark T-003 as done)
|
|
1294
|
+
vim issue-body.md
|
|
1295
|
+
# Change: - [ ] T-003 → - [x] T-003
|
|
1296
|
+
|
|
1297
|
+
# Update issue
|
|
1298
|
+
gh issue edit 4 --body-file issue-body.md
|
|
1299
|
+
```
|
|
1300
|
+
|
|
1301
|
+
**For Jira** (subtasks):
|
|
1302
|
+
|
|
1303
|
+
If tasks are represented as subtasks:
|
|
1304
|
+
|
|
1305
|
+
```bash
|
|
1306
|
+
# List subtasks
|
|
1307
|
+
jira issue list --parent PROJ-123
|
|
1308
|
+
|
|
1309
|
+
# Update subtask status
|
|
1310
|
+
jira issue move PROJ-123-SUB1 "Done"
|
|
1311
|
+
```
|
|
1312
|
+
|
|
1313
|
+
#### Step 5: Sync Increment Status Changes
|
|
1314
|
+
|
|
1315
|
+
When increment status changes (active → paused → completed), sync that too:
|
|
1316
|
+
|
|
1317
|
+
```bash
|
|
1318
|
+
# Example: Increment completed
|
|
1319
|
+
gh issue comment 4 --body "🎉 INCREMENT COMPLETED!
|
|
1320
|
+
|
|
1321
|
+
All 24 tasks finished. Increment 0007-smart-increment-discipline is now complete.
|
|
1322
|
+
|
|
1323
|
+
See completion report: .specweave/increments/0007-smart-increment-discipline/reports/COMPLETION-SUMMARY.md
|
|
1324
|
+
"
|
|
1325
|
+
|
|
1326
|
+
# Close the issue
|
|
1327
|
+
gh issue close 4 --comment "Increment completed and merged to main branch."
|
|
1328
|
+
```
|
|
1329
|
+
|
|
1330
|
+
### Why This Matters
|
|
1331
|
+
|
|
1332
|
+
**Without external tracker sync**:
|
|
1333
|
+
- ❌ Stakeholders don't see progress
|
|
1334
|
+
- ❌ Team members work in isolation
|
|
1335
|
+
- ❌ No audit trail of work done
|
|
1336
|
+
- ❌ GitHub/Jira becomes stale and useless
|
|
1337
|
+
|
|
1338
|
+
**With external tracker sync**:
|
|
1339
|
+
- ✅ Real-time visibility into progress
|
|
1340
|
+
- ✅ Team stays informed
|
|
1341
|
+
- ✅ Stakeholders can track without asking
|
|
1342
|
+
- ✅ Complete audit trail
|
|
1343
|
+
- ✅ GitHub/Jira remains the source of truth
|
|
1344
|
+
|
|
1345
|
+
### Tools That Need Manual Sync
|
|
1346
|
+
|
|
1347
|
+
These tools **DO NOT** have automatic external tracker sync:
|
|
1348
|
+
- GitHub Copilot (all versions)
|
|
1349
|
+
- Cursor
|
|
1350
|
+
- Windsurf
|
|
1351
|
+
- Gemini CLI
|
|
1352
|
+
- Generic AI tools (ChatGPT, Claude web, etc.)
|
|
1353
|
+
|
|
1354
|
+
Only **Claude Code** has automatic hooks (via `post-task-completion.sh`) that sync to external trackers.
|
|
1355
|
+
|
|
1356
|
+
### Summary Checklist (After Every Task)
|
|
1357
|
+
|
|
1358
|
+
When you complete a task in non-Claude tools:
|
|
1359
|
+
|
|
1360
|
+
1. ✅ Mark task complete in tasks.md
|
|
1361
|
+
2. ✅ Update living docs (see "Documentation Updates" section)
|
|
1362
|
+
3. ✅ **Sync to GitHub/Jira/ADO** (this section)
|
|
1363
|
+
4. ✅ Update RFC if applicable (if task implements architecture decision)
|
|
1364
|
+
5. ✅ Continue to next task
|
|
1365
|
+
|
|
1366
|
+
**Remember**: In Claude Code, steps 3-4 happen automatically via hooks. In other tools, YOU must do them manually!
|
|
1367
|
+
|
|
1368
|
+
---
|
|
1369
|
+
|
|
719
1370
|
## Security Considerations
|
|
720
1371
|
|
|
721
1372
|
- Never commit secrets (use `.env` files, gitignored)
|