specweave 0.1.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +600 -0
- package/README.md +263 -88
- package/bin/install-all.sh +1 -1
- package/bin/install-commands.sh +3 -3
- package/bin/specweave.js +39 -9
- package/dist/adapters/adapter-base.d.ts +1 -1
- package/dist/adapters/adapter-base.d.ts.map +1 -1
- package/dist/adapters/adapter-base.js +6 -41
- package/dist/adapters/adapter-base.js.map +1 -1
- package/dist/adapters/adapter-interface.js +1 -2
- package/dist/adapters/adapter-interface.js.map +1 -1
- package/dist/adapters/adapter-loader.d.ts +86 -0
- package/dist/adapters/adapter-loader.d.ts.map +1 -0
- package/dist/adapters/adapter-loader.js +216 -0
- package/dist/adapters/adapter-loader.js.map +1 -0
- package/dist/adapters/agents-md-generator.d.ts +48 -0
- package/dist/adapters/agents-md-generator.d.ts.map +1 -0
- package/dist/adapters/agents-md-generator.js +132 -0
- package/dist/adapters/agents-md-generator.js.map +1 -0
- package/dist/adapters/claude/adapter.d.ts +2 -2
- package/dist/adapters/claude/adapter.d.ts.map +1 -1
- package/dist/adapters/claude/adapter.js +5 -42
- package/dist/adapters/claude/adapter.js.map +1 -1
- package/dist/adapters/claude-md-generator.d.ts +78 -0
- package/dist/adapters/claude-md-generator.d.ts.map +1 -0
- package/dist/adapters/claude-md-generator.js +246 -0
- package/dist/adapters/claude-md-generator.js.map +1 -0
- package/dist/adapters/codex/adapter.d.ts +50 -0
- package/dist/adapters/codex/adapter.d.ts.map +1 -0
- package/dist/adapters/codex/adapter.js +316 -0
- package/dist/adapters/codex/adapter.js.map +1 -0
- package/dist/adapters/copilot/adapter.d.ts +10 -9
- package/dist/adapters/copilot/adapter.d.ts.map +1 -1
- package/dist/adapters/copilot/adapter.js +35 -100
- package/dist/adapters/copilot/adapter.js.map +1 -1
- package/dist/adapters/cursor/adapter.d.ts +8 -6
- package/dist/adapters/cursor/adapter.d.ts.map +1 -1
- package/dist/adapters/cursor/adapter.js +47 -130
- package/dist/adapters/cursor/adapter.js.map +1 -1
- package/dist/adapters/doc-generator.d.ts +69 -0
- package/dist/adapters/doc-generator.d.ts.map +1 -0
- package/dist/adapters/doc-generator.js +247 -0
- package/dist/adapters/doc-generator.js.map +1 -0
- package/dist/adapters/gemini/adapter.d.ts +50 -0
- package/dist/adapters/gemini/adapter.d.ts.map +1 -0
- package/dist/adapters/gemini/adapter.js +281 -0
- package/dist/adapters/gemini/adapter.js.map +1 -0
- package/dist/adapters/generic/adapter.d.ts +7 -4
- package/dist/adapters/generic/adapter.d.ts.map +1 -1
- package/dist/adapters/generic/adapter.js +60 -59
- package/dist/adapters/generic/adapter.js.map +1 -1
- package/dist/cli/commands/init.d.ts +3 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +272 -170
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +22 -58
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +27 -64
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/core/credentials-manager.d.ts +90 -0
- package/dist/core/credentials-manager.d.ts.map +1 -0
- package/dist/core/credentials-manager.js +271 -0
- package/dist/core/credentials-manager.js.map +1 -0
- package/dist/core/project-structure-detector.d.ts +92 -0
- package/dist/core/project-structure-detector.d.ts.map +1 -0
- package/dist/core/project-structure-detector.js +289 -0
- package/dist/core/project-structure-detector.js.map +1 -0
- package/dist/core/rfc-generator-v2.d.ts +149 -0
- package/dist/core/rfc-generator-v2.d.ts.map +1 -0
- package/dist/core/rfc-generator-v2.js +399 -0
- package/dist/core/rfc-generator-v2.js.map +1 -0
- package/dist/core/rfc-generator.d.ts +147 -0
- package/dist/core/rfc-generator.d.ts.map +1 -0
- package/dist/core/rfc-generator.js +434 -0
- package/dist/core/rfc-generator.js.map +1 -0
- package/dist/integrations/ado/ado-client.d.ts +123 -0
- package/dist/integrations/ado/ado-client.d.ts.map +1 -0
- package/dist/integrations/ado/ado-client.js +398 -0
- package/dist/integrations/ado/ado-client.js.map +1 -0
- package/dist/integrations/jira/jira-client.d.ts +139 -0
- package/dist/integrations/jira/jira-client.d.ts.map +1 -0
- package/dist/integrations/jira/jira-client.js +386 -0
- package/dist/integrations/jira/jira-client.js.map +1 -0
- package/dist/integrations/jira/jira-incremental-mapper.d.ts +75 -0
- package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
- package/dist/integrations/jira/jira-incremental-mapper.js +474 -0
- package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -0
- package/dist/integrations/jira/jira-mapper.d.ts +105 -0
- package/dist/integrations/jira/jira-mapper.d.ts.map +1 -0
- package/dist/integrations/jira/jira-mapper.js +494 -0
- package/dist/integrations/jira/jira-mapper.js.map +1 -0
- package/dist/testing/test-generator.d.ts +117 -0
- package/dist/testing/test-generator.d.ts.map +1 -0
- package/dist/testing/test-generator.js +370 -0
- package/dist/testing/test-generator.js.map +1 -0
- package/dist/utils/auto-install.d.ts +3 -0
- package/dist/utils/auto-install.d.ts.map +1 -1
- package/dist/utils/auto-install.js +16 -82
- package/dist/utils/auto-install.js.map +1 -1
- package/dist/utils/esm-helpers.d.ts +50 -0
- package/dist/utils/esm-helpers.d.ts.map +1 -0
- package/dist/utils/esm-helpers.js +57 -0
- package/dist/utils/esm-helpers.js.map +1 -0
- package/package.json +16 -7
- package/src/adapters/README.md +1 -2
- package/src/adapters/adapter-base.ts +6 -3
- package/src/adapters/adapter-loader.ts +261 -0
- package/src/adapters/agents-md-generator.ts +162 -0
- package/src/adapters/claude/README.md +6 -14
- package/src/adapters/claude/adapter.ts +4 -4
- package/src/adapters/claude-md-generator.ts +311 -0
- package/src/adapters/codex/README.md +105 -0
- package/src/adapters/codex/adapter.ts +333 -0
- package/src/adapters/copilot/adapter.ts +36 -65
- package/src/adapters/cursor/README.md +0 -2
- package/src/adapters/cursor/adapter.ts +46 -92
- package/src/adapters/doc-generator.ts +331 -0
- package/src/adapters/gemini/README.md +97 -0
- package/src/adapters/gemini/adapter.ts +298 -0
- package/src/adapters/generic/adapter.ts +61 -57
- package/src/adapters/registry.yaml +86 -25
- package/src/agents/devops/AGENT.md +16 -18
- package/src/agents/docs-writer/AGENT.md +2 -2
- package/src/agents/pm/AGENT.md +1 -50
- package/src/commands/README.md +134 -111
- package/src/commands/{build.md → specweave.do.md} +185 -72
- package/src/commands/{done.md → specweave.done.md} +3 -3
- package/src/commands/{inc.md → specweave.inc.md} +4 -4
- package/src/commands/specweave.increment.md +383 -0
- package/src/commands/specweave.md +430 -0
- package/src/commands/specweave.next.md +495 -0
- package/src/commands/specweave.progress.md +258 -0
- package/src/commands/specweave.sync-docs.md +665 -0
- package/src/commands/specweave.sync-github.md +269 -0
- package/src/commands/specweave.sync-jira.md +197 -0
- package/src/commands/{validate.md → specweave.validate.md} +4 -4
- package/src/hooks/README.md +19 -29
- package/src/hooks/post-task-completion.sh +25 -30
- package/src/skills/ado-sync/README.md +1 -36
- package/src/skills/bmad-method-expert/SKILL.md +1 -3
- package/src/skills/brownfield-analyzer/SKILL.md +429 -23
- package/src/skills/brownfield-onboarder/SKILL.md +221 -8
- package/src/skills/context-loader/SKILL.md +239 -617
- package/src/skills/context-optimizer/SKILL.md +0 -30
- package/src/skills/github-sync/SKILL.md +1 -19
- package/src/skills/increment-planner/SKILL.md +64 -18
- package/src/skills/increment-quality-judge/SKILL.md +1 -36
- package/src/skills/jira-sync/README.md +1 -38
- package/src/skills/role-orchestrator/README.md +1 -22
- package/src/skills/role-orchestrator/SKILL.md +1 -59
- package/src/skills/skill-router/SKILL.md +0 -18
- package/src/skills/spec-kit-expert/SKILL.md +1 -3
- package/src/skills/specweave-detector/SKILL.md +225 -275
- package/src/skills/task-builder/README.md +1 -7
- package/src/templates/AGENTS.md.template +334 -0
- package/src/templates/CLAUDE.md.template +131 -297
- package/src/templates/README.md.template +115 -23
- package/src/templates/environments/minimal/README.md +0 -1
- package/INSTALL.md +0 -848
- package/SPECWEAVE.md +0 -711
- package/src/adapters/copilot/.github/copilot/instructions.md +0 -376
- package/src/adapters/cursor/.cursorrules +0 -325
- package/src/adapters/generic/SPECWEAVE-MANUAL.md +0 -676
- package/src/commands/create-project.md +0 -528
- package/src/commands/generate-docs.md +0 -623
- package/src/commands/increment.md +0 -223
- package/src/commands/review-docs.md +0 -331
- package/src/commands/sync-github.md +0 -115
- package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
- package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
- package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
- package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
- package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
- package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
- package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
- package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
- package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
- package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
- package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
- package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
- package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
- package/src/skills/cost-optimizer/test-results/README.md +0 -46
- package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
- package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
- package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
- package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
- package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
- package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
- package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
- package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
- package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
- package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
- package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
- package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
- package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
- package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
- package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
- package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
- package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
- package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
- package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
- package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
- package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
- package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
- package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
- package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
- package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
- package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
- package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
- package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
- package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
- package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
- package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
- package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
- package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
- package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
- package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
- package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
- package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
- package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
- package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
- package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
- package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
- package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
- package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
- package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
- package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
- package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
- package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
- package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
- package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
- package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
- package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
- package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
- package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
- package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
- package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
- package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
- package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
- package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
- package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
- package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
- package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
- package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
- package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
- package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
- package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
- package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
- package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
- package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
- package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
- package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
- package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
- package/src/templates/config.yaml +0 -351
- /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: specweave.do
|
|
3
3
|
description: Execute increment implementation following spec and plan - hooks run after EVERY task
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Do Increment
|
|
7
7
|
|
|
8
|
-
**Implementation Execution**: Following spec.md and plan.md to
|
|
8
|
+
**Implementation Execution**: Following spec.md and plan.md to execute the increment work.
|
|
9
9
|
|
|
10
10
|
You are helping the user implement a SpecWeave increment by executing tasks from tasks.md with automatic documentation updates after EVERY task completion.
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
|
|
15
|
+
# Auto-resumes from last incomplete task
|
|
16
|
+
/do <increment-id>
|
|
17
|
+
|
|
18
|
+
# Or let it find active increment automatically
|
|
19
|
+
/do
|
|
16
20
|
```
|
|
17
21
|
|
|
18
22
|
## Arguments
|
|
19
23
|
|
|
20
|
-
- `<increment-id>`:
|
|
24
|
+
- `<increment-id>`: Optional. Increment ID (e.g., "001", "0001", "1", "0042")
|
|
25
|
+
- If omitted, finds the active in-progress increment automatically
|
|
26
|
+
- **Smart resume**: Automatically starts from next incomplete task
|
|
21
27
|
|
|
22
28
|
---
|
|
23
29
|
|
|
@@ -51,12 +57,45 @@ You are helping the user implement a SpecWeave increment by executing tasks from
|
|
|
51
57
|
• tasks.md (42 tasks, estimated 3-4 weeks)
|
|
52
58
|
• tests.md (12 test cases, 85% coverage)
|
|
53
59
|
|
|
54
|
-
🎯 Ready to
|
|
60
|
+
🎯 Ready to execute!
|
|
55
61
|
```
|
|
56
62
|
|
|
57
|
-
### Step 2:
|
|
63
|
+
### Step 2: Smart Resume - Find Next Incomplete Task
|
|
64
|
+
|
|
65
|
+
**🎯 CRITICAL: Auto-resume functionality** - no need to remember which task you were on!
|
|
66
|
+
|
|
67
|
+
1. **Parse tasks.md**:
|
|
68
|
+
- Scan all tasks in order
|
|
69
|
+
- Check completion status (`[x]` = complete, `[ ]` = incomplete)
|
|
70
|
+
- Find first incomplete task
|
|
71
|
+
|
|
72
|
+
2. **Determine starting point**:
|
|
73
|
+
- If all tasks complete → Show completion message
|
|
74
|
+
- If tasks incomplete → Resume from first incomplete task
|
|
75
|
+
- If no tasks started → Start from T001
|
|
76
|
+
|
|
77
|
+
3. **Show resume context**:
|
|
78
|
+
```
|
|
79
|
+
📊 Resume Context:
|
|
80
|
+
|
|
81
|
+
Completed: 3/12 tasks (25%)
|
|
82
|
+
├─ [✅] T001: Setup auth module (P1)
|
|
83
|
+
├─ [✅] T002: Create user model (P1)
|
|
84
|
+
├─ [✅] T003: Implement JWT tokens (P1)
|
|
85
|
+
└─ [⏳] T004: Add password hashing (P1) ← RESUMING HERE
|
|
86
|
+
|
|
87
|
+
Remaining: 9 tasks (estimated 2 weeks)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Why smart resume?**
|
|
91
|
+
- ✅ No manual tracking needed
|
|
92
|
+
- ✅ Seamlessly continue after breaks
|
|
93
|
+
- ✅ Prevents duplicate work
|
|
94
|
+
- ✅ Shows progress at a glance
|
|
95
|
+
|
|
96
|
+
### Step 3: Update Status to In-Progress (if needed)
|
|
58
97
|
|
|
59
|
-
|
|
98
|
+
If status is "planned", update `spec.md` frontmatter:
|
|
60
99
|
|
|
61
100
|
```yaml
|
|
62
101
|
---
|
|
@@ -66,7 +105,9 @@ started: 2025-10-28 # ← Start date
|
|
|
66
105
|
---
|
|
67
106
|
```
|
|
68
107
|
|
|
69
|
-
|
|
108
|
+
If already "in-progress", keep existing metadata.
|
|
109
|
+
|
|
110
|
+
### Step 4: Execute Tasks Sequentially
|
|
70
111
|
|
|
71
112
|
**For each task in tasks.md**:
|
|
72
113
|
|
|
@@ -88,13 +129,32 @@ started: 2025-10-28 # ← Start date
|
|
|
88
129
|
- Add completion timestamp
|
|
89
130
|
- Note any deviations from plan
|
|
90
131
|
|
|
91
|
-
4. **🔥 CRITICAL:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
132
|
+
4. **🔥 CRITICAL: After EVERY task completion**:
|
|
133
|
+
|
|
134
|
+
**Step A: Hook executes automatically (via .claude/hooks.json)**:
|
|
135
|
+
- 🔊 Plays completion sound (Glass.aiff on macOS)
|
|
136
|
+
- 📝 Shows reminder message
|
|
137
|
+
- ✅ This happens automatically when you mark task complete
|
|
138
|
+
|
|
139
|
+
**Step B: Update project documentation inline**:
|
|
140
|
+
- Update CLAUDE.md if task added:
|
|
141
|
+
- New commands or CLI flags
|
|
142
|
+
- New file structure
|
|
143
|
+
- New configuration options
|
|
144
|
+
- New skills or agents
|
|
145
|
+
- Update README.md if task added:
|
|
146
|
+
- User-facing features
|
|
147
|
+
- Installation steps
|
|
148
|
+
- Usage examples
|
|
149
|
+
- API changes
|
|
150
|
+
- Update CHANGELOG.md if task added:
|
|
151
|
+
- Public API changes
|
|
152
|
+
- Breaking changes
|
|
153
|
+
- New features
|
|
154
|
+
|
|
155
|
+
**Step C: Continue to next task**:
|
|
156
|
+
- Do NOT call `/sync-docs` yet (wait until all tasks complete)
|
|
157
|
+
- Move to next incomplete task
|
|
98
158
|
|
|
99
159
|
**Example task execution**:
|
|
100
160
|
```
|
|
@@ -107,7 +167,7 @@ TASK T001: Create User model (PostgreSQL)
|
|
|
107
167
|
• Description: Create User model with Prisma
|
|
108
168
|
• Acceptance: Model has id, email, passwordHash, createdAt fields
|
|
109
169
|
|
|
110
|
-
🔨
|
|
170
|
+
🔨 Executing...
|
|
111
171
|
✓ Created src/models/User.ts
|
|
112
172
|
✓ Added Prisma schema definition
|
|
113
173
|
✓ Generated migration file
|
|
@@ -115,14 +175,19 @@ TASK T001: Create User model (PostgreSQL)
|
|
|
115
175
|
|
|
116
176
|
✅ Task T001 completed
|
|
117
177
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
178
|
+
🔊 [Glass.aiff plays automatically via hook]
|
|
179
|
+
🔔 Task completed! Remember to update documentation...
|
|
180
|
+
|
|
181
|
+
📝 Updating project documentation:
|
|
182
|
+
✓ Updated CLAUDE.md (added User model to schema reference)
|
|
183
|
+
✓ Updated README.md (added database section with example)
|
|
184
|
+
✓ No CHANGELOG.md update needed (internal model)
|
|
122
185
|
|
|
123
186
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
124
187
|
|
|
125
188
|
Progress: 1/42 tasks (2%) | Estimated remaining: 3.9 weeks
|
|
189
|
+
|
|
190
|
+
Moving to next task...
|
|
126
191
|
```
|
|
127
192
|
|
|
128
193
|
### Step 4: Handle Blockers
|
|
@@ -227,6 +292,29 @@ Up next:
|
|
|
227
292
|
✅ Tasks: 42/42 (100%)
|
|
228
293
|
⏱️ Time taken: 3.2 weeks (vs estimated 3-4 weeks)
|
|
229
294
|
|
|
295
|
+
🔊 [Playing celebration sound...]
|
|
296
|
+
|
|
297
|
+
📝 Now syncing implementation learnings to living docs...
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**CRITICAL: Now run `/sync-docs update` to sync to living docs**:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
/sync-docs update
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
This will:
|
|
307
|
+
- Update ADRs with implementation details (Proposed → Accepted)
|
|
308
|
+
- Update API documentation with actual endpoints
|
|
309
|
+
- Update architecture diagrams with actual system
|
|
310
|
+
- Update feature lists with completed features
|
|
311
|
+
- May prompt for conflict resolution if needed
|
|
312
|
+
|
|
313
|
+
**After `/sync-docs update` completes**:
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
✅ Living documentation synchronized!
|
|
317
|
+
|
|
230
318
|
Next steps:
|
|
231
319
|
1. Run full test suite: npm test
|
|
232
320
|
2. Validate increment: /validate 0001 --quality
|
|
@@ -237,66 +325,77 @@ Next steps:
|
|
|
237
325
|
|
|
238
326
|
## Hook Integration (CRITICAL!)
|
|
239
327
|
|
|
240
|
-
**Post-Task Completion Hook** runs after EVERY task
|
|
328
|
+
**Post-Task Completion Hook** runs after EVERY task via `.claude/hooks.json`:
|
|
241
329
|
|
|
242
330
|
### Configuration
|
|
243
331
|
|
|
244
|
-
**File**: `.
|
|
332
|
+
**File**: `.claude/hooks.json`
|
|
245
333
|
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
334
|
+
```json
|
|
335
|
+
{
|
|
336
|
+
"hooks": {
|
|
337
|
+
"PostToolUse": [
|
|
338
|
+
{
|
|
339
|
+
"matcher": "TodoWrite",
|
|
340
|
+
"hooks": [
|
|
341
|
+
{
|
|
342
|
+
"type": "command",
|
|
343
|
+
"command": "bash .claude/hooks/post-task-completion.sh"
|
|
344
|
+
}
|
|
345
|
+
]
|
|
346
|
+
}
|
|
347
|
+
]
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**Hook Script**: `.claude/hooks/post-task-completion.sh`
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
#!/bin/bash
|
|
356
|
+
# Plays completion sound and outputs reminder JSON
|
|
357
|
+
# Output: {"continue": true, "systemMessage": "Task completed! Update docs..."}
|
|
255
358
|
```
|
|
256
359
|
|
|
257
360
|
### Hook Behavior
|
|
258
361
|
|
|
259
|
-
**After EVERY task completion**:
|
|
362
|
+
**After EVERY task completion (via TodoWrite)**:
|
|
260
363
|
|
|
261
|
-
1. **
|
|
262
|
-
-
|
|
263
|
-
-
|
|
264
|
-
-
|
|
364
|
+
1. **Play sound synchronously**:
|
|
365
|
+
- macOS: Glass.aiff via `afplay`
|
|
366
|
+
- Linux: complete.oga via `paplay`
|
|
367
|
+
- Windows: chimes.wav via PowerShell
|
|
368
|
+
- Sound plays BEFORE Claude continues
|
|
265
369
|
|
|
266
|
-
2. **
|
|
267
|
-
-
|
|
268
|
-
- README.md
|
|
269
|
-
- API docs: Regenerate if API changed
|
|
370
|
+
2. **Show reminder**:
|
|
371
|
+
- JSON systemMessage displayed to user
|
|
372
|
+
- Reminds to update CLAUDE.md, README.md inline
|
|
270
373
|
|
|
271
|
-
3. **
|
|
272
|
-
-
|
|
273
|
-
- Check no stale references
|
|
274
|
-
- Check examples still work
|
|
374
|
+
3. **Log completion**:
|
|
375
|
+
- Appends to `.specweave/logs/tasks.log`
|
|
275
376
|
|
|
276
|
-
|
|
277
|
-
```
|
|
278
|
-
🪝 Post-task documentation update:
|
|
377
|
+
### Documentation Updates (Manual)
|
|
279
378
|
|
|
280
|
-
|
|
281
|
-
• CLAUDE.md (+3 lines: Added User model to schema reference)
|
|
282
|
-
• README.md (+12 lines: Added authentication example)
|
|
379
|
+
After each task, Claude should manually update:
|
|
283
380
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
✓ No stale documentation
|
|
381
|
+
- **CLAUDE.md**: New commands, file structure, config options, skills, agents
|
|
382
|
+
- **README.md**: User-facing features, installation, usage, API changes
|
|
383
|
+
- **CHANGELOG.md**: Public API changes, breaking changes, new features
|
|
288
384
|
|
|
289
|
-
|
|
290
|
-
|
|
385
|
+
**Living docs sync** (via `/sync-docs update`):
|
|
386
|
+
- Only after ALL tasks complete
|
|
387
|
+
- Updates `.specweave/docs/` with implementation learnings
|
|
388
|
+
- Updates ADRs from Proposed → Accepted
|
|
389
|
+
- Updates architecture diagrams with actual system
|
|
291
390
|
|
|
292
391
|
---
|
|
293
392
|
|
|
294
393
|
## Examples
|
|
295
394
|
|
|
296
|
-
### Example 1:
|
|
395
|
+
### Example 1: Execute Complete Increment
|
|
297
396
|
|
|
298
397
|
```bash
|
|
299
|
-
/
|
|
398
|
+
/do 0001
|
|
300
399
|
```
|
|
301
400
|
|
|
302
401
|
**Output**:
|
|
@@ -305,7 +404,7 @@ Documentation drift: 0% (perfect sync)
|
|
|
305
404
|
|
|
306
405
|
✅ Context loaded (spec.md, plan.md, tasks.md, tests.md)
|
|
307
406
|
|
|
308
|
-
🔨 Starting
|
|
407
|
+
🔨 Starting execution (42 tasks)...
|
|
309
408
|
|
|
310
409
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
311
410
|
Task T001: Create User model
|
|
@@ -319,17 +418,17 @@ Task T001: Create User model
|
|
|
319
418
|
Next: /validate 0001 --quality
|
|
320
419
|
```
|
|
321
420
|
|
|
322
|
-
### Example 2:
|
|
421
|
+
### Example 2: Execute with Blocker
|
|
323
422
|
|
|
324
423
|
```bash
|
|
325
|
-
/
|
|
424
|
+
/do 0002
|
|
326
425
|
```
|
|
327
426
|
|
|
328
427
|
**Output**:
|
|
329
428
|
```
|
|
330
429
|
📂 Loading increment 0002-payment-processing...
|
|
331
430
|
|
|
332
|
-
🔨
|
|
431
|
+
🔨 Executing tasks...
|
|
333
432
|
|
|
334
433
|
Task T005: Integrate Stripe payment
|
|
335
434
|
⚠️ Blocker: Stripe API key not in .env
|
|
@@ -342,10 +441,10 @@ Options:
|
|
|
342
441
|
Your choice? [A/B/C]: _
|
|
343
442
|
```
|
|
344
443
|
|
|
345
|
-
### Example 3:
|
|
444
|
+
### Example 3: Execute with Test Failure
|
|
346
445
|
|
|
347
446
|
```bash
|
|
348
|
-
/
|
|
447
|
+
/do 0003
|
|
349
448
|
```
|
|
350
449
|
|
|
351
450
|
**Output**:
|
|
@@ -382,14 +481,14 @@ Available increments:
|
|
|
382
481
|
• 0002-core-enhancements (planned)
|
|
383
482
|
• 0003-payment-processing (in-progress)
|
|
384
483
|
|
|
385
|
-
Usage: /
|
|
484
|
+
Usage: /do <increment-id>
|
|
386
485
|
```
|
|
387
486
|
|
|
388
487
|
### Increment Not Planned
|
|
389
488
|
```
|
|
390
|
-
❌ Error: Cannot
|
|
489
|
+
❌ Error: Cannot execute increment 0001 (status: backlog)
|
|
391
490
|
|
|
392
|
-
Increment must be "planned" before
|
|
491
|
+
Increment must be "planned" before execution.
|
|
393
492
|
|
|
394
493
|
Run: /increment "User authentication" to plan this increment first.
|
|
395
494
|
```
|
|
@@ -412,8 +511,8 @@ Options:
|
|
|
412
511
|
## Related Commands
|
|
413
512
|
|
|
414
513
|
- `/increment`: Plan increment (creates spec.md, plan.md, tasks.md)
|
|
415
|
-
- `/validate`: Validate quality before
|
|
416
|
-
- `/done`: Close increment (PM validates completion)
|
|
514
|
+
- `/validate`: Validate quality before executing
|
|
515
|
+
- `/specweave done`: Close increment (PM validates completion)
|
|
417
516
|
- `/list-increments`: List all increments with status
|
|
418
517
|
|
|
419
518
|
---
|
|
@@ -428,6 +527,20 @@ Options:
|
|
|
428
527
|
|
|
429
528
|
---
|
|
430
529
|
|
|
431
|
-
|
|
530
|
+
## Why "/do" instead of "/do"?
|
|
531
|
+
|
|
532
|
+
**Universal applicability**: SpecWeave isn't just for software engineering!
|
|
533
|
+
|
|
534
|
+
- Software projects: Writing code, tests, documentation
|
|
535
|
+
- Writing projects: Chapters, articles, research papers
|
|
536
|
+
- Design projects: Mockups, prototypes, design systems
|
|
537
|
+
- Business projects: Reports, analyses, presentations
|
|
538
|
+
- Creative projects: Scripts, storyboards, content
|
|
539
|
+
|
|
540
|
+
"/do" works for any domain - it's about **executing the planned work**, whatever that work may be.
|
|
541
|
+
|
|
542
|
+
---
|
|
543
|
+
|
|
544
|
+
**Important**: This command is designed for continuous execution. It's normal to run `/do` and let it execute multiple tasks sequentially with documentation updates after each one.
|
|
432
545
|
|
|
433
|
-
**Best Practice**: Always run `/validate 0001 --quality` after
|
|
546
|
+
**Best Practice**: Always run `/validate 0001 --quality` after execution to ensure quality before closing with `/done`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: done
|
|
2
|
+
name: specweave.done
|
|
3
3
|
description: Close increment with PM validation - checks tasks, tests, and docs before closing
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -501,7 +501,7 @@ Usage: /done <increment-id>
|
|
|
501
501
|
|
|
502
502
|
Increment must be "in-progress" before closing.
|
|
503
503
|
|
|
504
|
-
Run: /
|
|
504
|
+
Run: /do 0001 to start implementation first.
|
|
505
505
|
```
|
|
506
506
|
|
|
507
507
|
### Major Blockers Found
|
|
@@ -531,7 +531,7 @@ Check progress: /list-increments
|
|
|
531
531
|
## Related Commands
|
|
532
532
|
|
|
533
533
|
- `/increment`: Plan new increment
|
|
534
|
-
- `/
|
|
534
|
+
- `/do`: Execute implementation
|
|
535
535
|
- `/validate`: Validate quality before closing
|
|
536
536
|
- `/list-increments`: List all increments with status
|
|
537
537
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: inc
|
|
2
|
+
name: specweave.inc
|
|
3
3
|
description: Shorthand for /increment - Plan new Product Increment (PM-led process)
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -53,7 +53,7 @@ Runs the full `/increment` command, which:
|
|
|
53
53
|
- QA defines test strategy
|
|
54
54
|
- DevOps plans infrastructure
|
|
55
55
|
4. **User review checkpoint**
|
|
56
|
-
5. **Ready to build**: `/
|
|
56
|
+
5. **Ready to build**: `/do 0001`
|
|
57
57
|
|
|
58
58
|
---
|
|
59
59
|
|
|
@@ -67,7 +67,7 @@ Runs the full `/increment` command, which:
|
|
|
67
67
|
# spec.md, plan.md, tasks.md, tests.md
|
|
68
68
|
|
|
69
69
|
# 3. Build it
|
|
70
|
-
/
|
|
70
|
+
/do 0001
|
|
71
71
|
|
|
72
72
|
# 4. Validate quality (optional)
|
|
73
73
|
/validate 0001 --quality
|
|
@@ -78,7 +78,7 @@ Runs the full `/increment` command, which:
|
|
|
78
78
|
|
|
79
79
|
---
|
|
80
80
|
|
|
81
|
-
**💡 Pro Tip**: `/inc` is the ONLY aliased command. Use full names for others (`/
|
|
81
|
+
**💡 Pro Tip**: `/inc` is the ONLY aliased command. Use full names for others (`/specweave do`, `/specweave validate`, `/specweave done`) to keep the workflow clear and explicit.
|
|
82
82
|
|
|
83
83
|
---
|
|
84
84
|
|