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
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specweave.next
|
|
3
|
+
description: Smart increment transition - auto-close current if ready, intelligently suggest next work (backlog or new feature)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Next Increment (Smart Workflow Transition)
|
|
7
|
+
|
|
8
|
+
**Smart Workflow**: Seamlessly transition from current work to next, with automatic closure validation.
|
|
9
|
+
|
|
10
|
+
You are helping the user complete their current increment and move to the next one with intelligent suggestions.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
/next
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**No arguments needed** - the command intelligently handles the transition.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## What This Does
|
|
23
|
+
|
|
24
|
+
The `/next` command is your **workflow continuation** command. It:
|
|
25
|
+
|
|
26
|
+
1. **Validates current increment** - Checks if work is complete
|
|
27
|
+
2. **Auto-closes if ready** - PM validates and closes automatically
|
|
28
|
+
3. **Suggests next work** - Intelligent recommendations from backlog or prompt for new
|
|
29
|
+
4. **Smooth transition** - No manual `/done` + `/inc` needed
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
|
|
35
|
+
### Step 1: Find Active Increment
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Check for in-progress increments
|
|
39
|
+
find .specweave/increments -type f -name "spec.md" -exec grep -l "status: in-progress" {} \;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Scenarios**:
|
|
43
|
+
- ✅ One increment in-progress → Validate for closure
|
|
44
|
+
- ⚠️ Multiple in-progress → Warn about WIP limit, ask which to close
|
|
45
|
+
- ℹ️ None in-progress → Skip to Step 3 (suggest next work)
|
|
46
|
+
|
|
47
|
+
### Step 2: PM Validation Gates (3 Gates)
|
|
48
|
+
|
|
49
|
+
**🔥 CRITICAL: Run PM validation like `/done` command**
|
|
50
|
+
|
|
51
|
+
Invoke PM validation for the in-progress increment:
|
|
52
|
+
|
|
53
|
+
#### Gate 1: Tasks Completed ✅
|
|
54
|
+
|
|
55
|
+
Check `tasks.md`:
|
|
56
|
+
- [ ] All P1 (critical) tasks completed
|
|
57
|
+
- [ ] All P2 (important) tasks completed OR deferred with reason
|
|
58
|
+
- [ ] P3 (nice-to-have) tasks completed, deferred, or moved to backlog
|
|
59
|
+
- [ ] No tasks in "blocked" state
|
|
60
|
+
|
|
61
|
+
**Example check**:
|
|
62
|
+
```
|
|
63
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
64
|
+
GATE 1: Tasks Completion
|
|
65
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
66
|
+
|
|
67
|
+
Checking tasks.md for increment 0001...
|
|
68
|
+
|
|
69
|
+
Priority P1 (Critical): 12 tasks
|
|
70
|
+
✅ 12/12 completed (100%)
|
|
71
|
+
|
|
72
|
+
Priority P2 (Important): 18 tasks
|
|
73
|
+
✅ 16/18 completed (89%)
|
|
74
|
+
⚠️ 2 deferred (documented reasons)
|
|
75
|
+
|
|
76
|
+
Priority P3 (Nice-to-have): 12 tasks
|
|
77
|
+
✅ 8/12 completed (67%)
|
|
78
|
+
📋 4 moved to backlog
|
|
79
|
+
|
|
80
|
+
Status: ✅ PASS
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
#### Gate 2: Tests Passing ✅
|
|
84
|
+
|
|
85
|
+
Run test suite:
|
|
86
|
+
- [ ] All test suites passing (no failures)
|
|
87
|
+
- [ ] Test coverage meets requirements (>80% for critical paths)
|
|
88
|
+
- [ ] E2E tests passing (if UI exists)
|
|
89
|
+
- [ ] No skipped tests without documentation
|
|
90
|
+
|
|
91
|
+
**Example check**:
|
|
92
|
+
```
|
|
93
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
94
|
+
GATE 2: Tests Passing
|
|
95
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
96
|
+
|
|
97
|
+
Running test suite...
|
|
98
|
+
|
|
99
|
+
Unit Tests: ✅ 47/47 passing (Coverage: 89%)
|
|
100
|
+
Integration Tests: ✅ 15/15 passing
|
|
101
|
+
E2E Tests: ✅ 8/8 passing
|
|
102
|
+
|
|
103
|
+
Status: ✅ PASS
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
#### Gate 3: Documentation Updated ✅
|
|
107
|
+
|
|
108
|
+
Check documentation:
|
|
109
|
+
- [ ] CLAUDE.md updated with new features
|
|
110
|
+
- [ ] README.md updated with usage examples
|
|
111
|
+
- [ ] CHANGELOG.md updated (if public API changed)
|
|
112
|
+
- [ ] API documentation regenerated (if applicable)
|
|
113
|
+
|
|
114
|
+
**Example check**:
|
|
115
|
+
```
|
|
116
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
117
|
+
GATE 3: Documentation Updated
|
|
118
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
|
+
|
|
120
|
+
Checking documentation updates...
|
|
121
|
+
|
|
122
|
+
CLAUDE.md: ✅ Updated with new features
|
|
123
|
+
README.md: ✅ Examples added
|
|
124
|
+
CHANGELOG.md: ✅ v0.1.7 entry created
|
|
125
|
+
Inline Docs: ✅ All functions documented
|
|
126
|
+
|
|
127
|
+
Status: ✅ PASS
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Step 3: Closure Decision
|
|
131
|
+
|
|
132
|
+
**Based on PM validation results**:
|
|
133
|
+
|
|
134
|
+
#### Scenario A: All Gates Pass ✅ (Auto-Close)
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
138
|
+
PM VALIDATION: ✅ READY TO CLOSE
|
|
139
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
140
|
+
|
|
141
|
+
✅ Gate 1: Tasks (100% P1, 89% P2)
|
|
142
|
+
✅ Gate 2: Tests (70/70 passing, 89% coverage)
|
|
143
|
+
✅ Gate 3: Docs (all current)
|
|
144
|
+
|
|
145
|
+
Increment 0001-user-authentication is complete!
|
|
146
|
+
|
|
147
|
+
🎯 Auto-closing increment...
|
|
148
|
+
✓ Updated status: in-progress → completed
|
|
149
|
+
✓ Set completion date: 2025-10-28
|
|
150
|
+
✓ Generated completion report
|
|
151
|
+
✓ Freed WIP slot (1/2 → 0/2)
|
|
152
|
+
|
|
153
|
+
🎉 Increment 0001 closed successfully!
|
|
154
|
+
|
|
155
|
+
Proceeding to suggest next work...
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
#### Scenario B: One or More Gates Fail ❌ (Present Options)
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
162
|
+
PM VALIDATION: ❌ NOT READY TO CLOSE
|
|
163
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
164
|
+
|
|
165
|
+
❌ Gate 1: Tasks - 2 P1 tasks incomplete
|
|
166
|
+
✅ Gate 2: Tests - All passing
|
|
167
|
+
❌ Gate 3: Docs - CLAUDE.md and README.md outdated
|
|
168
|
+
|
|
169
|
+
Increment 0001-user-authentication is NOT ready to close.
|
|
170
|
+
|
|
171
|
+
Options:
|
|
172
|
+
A. Complete remaining work (recommended)
|
|
173
|
+
→ Finish T005 (password hashing) - 2h
|
|
174
|
+
→ Finish T008 (JWT validation) - 3h
|
|
175
|
+
→ Update CLAUDE.md - 30m
|
|
176
|
+
→ Update README.md - 1h
|
|
177
|
+
→ Estimated: 6-7 hours
|
|
178
|
+
|
|
179
|
+
B. Force close and defer incomplete tasks
|
|
180
|
+
→ Move T005, T008 to next increment (0002)
|
|
181
|
+
→ Close 0001 as "completed with deferrals"
|
|
182
|
+
→ Document deferral reasons
|
|
183
|
+
|
|
184
|
+
C. Stay on current increment
|
|
185
|
+
→ Continue working on 0001
|
|
186
|
+
→ Run `/specweave do 0001` to resume
|
|
187
|
+
|
|
188
|
+
What would you like to do? [A/B/C]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**🔥 CRITICAL**: NEVER auto-close with incomplete work! Always give user control.
|
|
192
|
+
|
|
193
|
+
### Step 4: Suggest Next Work (After Successful Closure)
|
|
194
|
+
|
|
195
|
+
**Intelligent suggestions based on project state**:
|
|
196
|
+
|
|
197
|
+
1. **Check for planned increments in backlog**:
|
|
198
|
+
```bash
|
|
199
|
+
ls .specweave/increments/_backlog/*.md
|
|
200
|
+
# or
|
|
201
|
+
find .specweave/increments -name "spec.md" -exec grep -l "status: planned" {} \;
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
2. **Present options based on findings**:
|
|
205
|
+
|
|
206
|
+
**Option A: Backlog items found** ✅
|
|
207
|
+
```
|
|
208
|
+
🎯 Next Work Suggestions
|
|
209
|
+
|
|
210
|
+
Found 2 planned increments in backlog:
|
|
211
|
+
|
|
212
|
+
1. 0002-payment-processing (P1)
|
|
213
|
+
→ Stripe integration, payment flow
|
|
214
|
+
→ Estimated: 2 weeks
|
|
215
|
+
→ Dependencies: 0001 (✅ complete)
|
|
216
|
+
|
|
217
|
+
2. 0003-notification-system (P2)
|
|
218
|
+
→ Email + SMS notifications
|
|
219
|
+
→ Estimated: 1 week
|
|
220
|
+
→ Dependencies: None
|
|
221
|
+
|
|
222
|
+
Recommendation: Start 0002-payment-processing (P1, ready to go)
|
|
223
|
+
|
|
224
|
+
Actions:
|
|
225
|
+
A. Start 0002 now → Run `/specweave do 0002`
|
|
226
|
+
B. Start 0003 instead → Run `/specweave do 0003`
|
|
227
|
+
C. Create new increment → Run `/specweave inc "feature name"`
|
|
228
|
+
|
|
229
|
+
What would you like to do? [A/B/C]
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**Option B: No backlog, but in-progress work exists** ⚠️
|
|
233
|
+
```
|
|
234
|
+
🎯 Next Work Suggestions
|
|
235
|
+
|
|
236
|
+
Current WIP: 1/2 increments active
|
|
237
|
+
Active: 0002-payment-processing (50% complete)
|
|
238
|
+
|
|
239
|
+
Recommendation: Continue 0002-payment-processing
|
|
240
|
+
|
|
241
|
+
Next Action: Run `/specweave do 0002` to resume
|
|
242
|
+
|
|
243
|
+
💡 Tip: Run `/progress 0002` to see current status
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Option C: Clean slate, no planned work** ✨
|
|
247
|
+
```
|
|
248
|
+
🎯 Next Work Suggestions
|
|
249
|
+
|
|
250
|
+
No planned increments found.
|
|
251
|
+
Current WIP: 0/2 (both slots available)
|
|
252
|
+
|
|
253
|
+
Time to plan your next feature!
|
|
254
|
+
|
|
255
|
+
Options:
|
|
256
|
+
A. Create new increment → Run `/specweave inc "feature description"`
|
|
257
|
+
Example: /specweave inc "Admin dashboard"
|
|
258
|
+
|
|
259
|
+
B. Check existing ideas → Look in .specweave/increments/_backlog/
|
|
260
|
+
If you have ideas saved, promote them with /inc
|
|
261
|
+
|
|
262
|
+
C. Review roadmap → See .specweave/docs/internal/strategy/roadmap.md
|
|
263
|
+
|
|
264
|
+
💡 Tip: Start with the most valuable feature for users!
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Example Workflows
|
|
270
|
+
|
|
271
|
+
### Example 1: Happy Path (Auto-Close and Continue)
|
|
272
|
+
|
|
273
|
+
**User**:
|
|
274
|
+
```bash
|
|
275
|
+
/next
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Output**:
|
|
279
|
+
```
|
|
280
|
+
📊 Checking current increment...
|
|
281
|
+
|
|
282
|
+
Active: 0001-user-authentication
|
|
283
|
+
|
|
284
|
+
🔍 PM Validation:
|
|
285
|
+
✅ Gate 1: All P1 tasks complete (12/12)
|
|
286
|
+
✅ Gate 2: All tests passing (70/70, 89% coverage)
|
|
287
|
+
✅ Gate 3: Documentation updated
|
|
288
|
+
|
|
289
|
+
🎯 Auto-closing increment 0001...
|
|
290
|
+
✓ Status: completed
|
|
291
|
+
✓ Completion report generated
|
|
292
|
+
✓ WIP freed (1/2 → 0/2)
|
|
293
|
+
|
|
294
|
+
🎉 Increment 0001 closed successfully!
|
|
295
|
+
|
|
296
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
297
|
+
|
|
298
|
+
🎯 Next Work Suggestions
|
|
299
|
+
|
|
300
|
+
Found 1 planned increment:
|
|
301
|
+
|
|
302
|
+
0002-payment-processing (P1)
|
|
303
|
+
→ Stripe integration, payment flow
|
|
304
|
+
→ Estimated: 2 weeks
|
|
305
|
+
→ Dependencies: 0001 (✅ complete)
|
|
306
|
+
|
|
307
|
+
Recommendation: Start 0002-payment-processing
|
|
308
|
+
|
|
309
|
+
Next Action: Run `/specweave do 0002` to begin
|
|
310
|
+
|
|
311
|
+
💡 Tip: Review spec first with `cat .specweave/increments/0002-payment-processing/spec.md`
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Example 2: Incomplete Work (User Decision)
|
|
315
|
+
|
|
316
|
+
**User**:
|
|
317
|
+
```bash
|
|
318
|
+
/next
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
**Output**:
|
|
322
|
+
```
|
|
323
|
+
📊 Checking current increment...
|
|
324
|
+
|
|
325
|
+
Active: 0001-user-authentication
|
|
326
|
+
|
|
327
|
+
🔍 PM Validation:
|
|
328
|
+
❌ Gate 1: 2 P1 tasks incomplete (10/12)
|
|
329
|
+
✅ Gate 2: All tests passing
|
|
330
|
+
❌ Gate 3: README.md not updated
|
|
331
|
+
|
|
332
|
+
Increment 0001 is NOT ready to close.
|
|
333
|
+
|
|
334
|
+
Blockers:
|
|
335
|
+
• T010: Add rate limiting (P1) - 2 hours
|
|
336
|
+
• T012: Add password reset (P1) - 3 hours
|
|
337
|
+
• README.md update - 1 hour
|
|
338
|
+
|
|
339
|
+
Options:
|
|
340
|
+
A. Complete remaining work (recommended) → 6 hours
|
|
341
|
+
B. Force close and defer T010, T012 to 0002
|
|
342
|
+
C. Stay on 0001 and continue working
|
|
343
|
+
|
|
344
|
+
What would you like to do? [A/B/C] _
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**User types "A"**:
|
|
348
|
+
```
|
|
349
|
+
✅ Good choice! Let's finish 0001 properly.
|
|
350
|
+
|
|
351
|
+
Next Action: Run `/specweave do 0001` to resume at T010
|
|
352
|
+
|
|
353
|
+
💡 Tip: `/specweave progress` shows your current status anytime
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Example 3: No Active Work (Clean Start)
|
|
357
|
+
|
|
358
|
+
**User**:
|
|
359
|
+
```bash
|
|
360
|
+
/next
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Output**:
|
|
364
|
+
```
|
|
365
|
+
📊 Checking current increment...
|
|
366
|
+
|
|
367
|
+
No active increments found.
|
|
368
|
+
|
|
369
|
+
Recent work:
|
|
370
|
+
✅ 0001-user-authentication (closed 2 days ago)
|
|
371
|
+
✅ 0002-payment-processing (closed 1 week ago)
|
|
372
|
+
|
|
373
|
+
Current WIP: 0/2 (both slots available)
|
|
374
|
+
|
|
375
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
376
|
+
|
|
377
|
+
🎯 Next Work Suggestions
|
|
378
|
+
|
|
379
|
+
No planned increments found. Time to plan new work!
|
|
380
|
+
|
|
381
|
+
Options:
|
|
382
|
+
1. Create new increment:
|
|
383
|
+
→ Run `/specweave inc "feature description"`
|
|
384
|
+
→ Example: /specweave inc "Admin dashboard"
|
|
385
|
+
|
|
386
|
+
2. Check backlog for ideas:
|
|
387
|
+
→ Look in .specweave/increments/_backlog/
|
|
388
|
+
→ Promote with `/specweave inc "feature name"`
|
|
389
|
+
|
|
390
|
+
3. Review roadmap:
|
|
391
|
+
→ See .specweave/docs/internal/strategy/roadmap.md
|
|
392
|
+
|
|
393
|
+
💡 Tip: Focus on the most valuable feature for users!
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
### Example 4: Multiple In-Progress (WIP Limit Warning)
|
|
397
|
+
|
|
398
|
+
**User**:
|
|
399
|
+
```bash
|
|
400
|
+
/next
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
**Output**:
|
|
404
|
+
```
|
|
405
|
+
📊 Checking current increment...
|
|
406
|
+
|
|
407
|
+
⚠️ Warning: Multiple increments in-progress (2/2 at WIP limit)
|
|
408
|
+
|
|
409
|
+
Active increments:
|
|
410
|
+
1. 0002-payment-processing (50% complete)
|
|
411
|
+
→ Last activity: 2 hours ago
|
|
412
|
+
→ Next task: T008
|
|
413
|
+
|
|
414
|
+
2. 0003-notification-system (25% complete)
|
|
415
|
+
→ Last activity: 1 day ago
|
|
416
|
+
→ Next task: T004
|
|
417
|
+
|
|
418
|
+
Recommendation: Focus on completing one before starting new work.
|
|
419
|
+
|
|
420
|
+
Which increment should we focus on closing?
|
|
421
|
+
A. Close 0002-payment-processing
|
|
422
|
+
B. Close 0003-notification-system
|
|
423
|
+
C. Cancel (continue working as-is)
|
|
424
|
+
|
|
425
|
+
Your choice? [A/B/C] _
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## Key Differences from Other Commands
|
|
431
|
+
|
|
432
|
+
| Command | Purpose | When to Use |
|
|
433
|
+
|---------|---------|-------------|
|
|
434
|
+
| `/specweave inc "feature"` | Create NEW increment with specific feature | Starting fresh work |
|
|
435
|
+
| `/specweave do` | Execute tasks in increment | Implementing planned work |
|
|
436
|
+
| `/specweave progress` | Check status (no action) | Quick status check |
|
|
437
|
+
| `/done` | Explicitly close increment | Manual closure with validation |
|
|
438
|
+
| `/next` ⭐ | **Smart transition** (close + suggest next) | **Natural workflow continuation** |
|
|
439
|
+
|
|
440
|
+
**Why `/next` is special**:
|
|
441
|
+
- ✅ Combines validation + closure + suggestion in one command
|
|
442
|
+
- ✅ No need to remember `/done` then `/inc` or `/specweave do`
|
|
443
|
+
- ✅ Intelligent suggestions (backlog, WIP, new work)
|
|
444
|
+
- ✅ User stays in control (never forces actions)
|
|
445
|
+
- ✅ Natural "what's next?" workflow
|
|
446
|
+
|
|
447
|
+
---
|
|
448
|
+
|
|
449
|
+
## Best Practices
|
|
450
|
+
|
|
451
|
+
1. **Run `/next` when you feel done** - It validates completion and suggests next steps
|
|
452
|
+
2. **Trust the PM validation** - If gates fail, there's unfinished work
|
|
453
|
+
3. **Follow recommendations** - Backlog items are already planned
|
|
454
|
+
4. **Keep WIP limit in mind** - Don't force multiple increments
|
|
455
|
+
5. **Use `/specweave progress` for status** - `/next` is for transitions
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## Related Commands
|
|
460
|
+
|
|
461
|
+
- `/inc` - Create new increment (PM-led planning)
|
|
462
|
+
- `/specweave do` - Execute tasks (auto-resumes)
|
|
463
|
+
- `/specweave progress` - Check status
|
|
464
|
+
- `/done` - Manual closure with PM validation
|
|
465
|
+
- `/list-increments` - View all increments
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## Configuration
|
|
470
|
+
|
|
471
|
+
**File**: `.specweave/config.yaml`
|
|
472
|
+
|
|
473
|
+
```yaml
|
|
474
|
+
workflow:
|
|
475
|
+
auto_close:
|
|
476
|
+
enabled: true # Enable auto-close in /next
|
|
477
|
+
strict_mode: true # Require all 3 gates to pass
|
|
478
|
+
suggest_next: true # Suggest next work after closure
|
|
479
|
+
|
|
480
|
+
pm_validation:
|
|
481
|
+
gates:
|
|
482
|
+
tasks:
|
|
483
|
+
require_p1_complete: true
|
|
484
|
+
require_p2_complete: false # P2 can be deferred
|
|
485
|
+
tests:
|
|
486
|
+
require_all_passing: true
|
|
487
|
+
min_coverage: 80
|
|
488
|
+
documentation:
|
|
489
|
+
require_claude_md: true
|
|
490
|
+
require_readme: true
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
**💡 Remember**: `/next` is your **"I'm done, what's next?"** command. It handles the transition intelligently so you can stay in flow!
|