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,258 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specweave.progress
|
|
3
|
+
description: Show current increment progress, task completion %, PM gate status, and next action
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Progress Tracking
|
|
7
|
+
|
|
8
|
+
**Quick Status Check**: See exactly where you are in your current increment.
|
|
9
|
+
|
|
10
|
+
Shows:
|
|
11
|
+
- Active increment status
|
|
12
|
+
- Task completion percentage
|
|
13
|
+
- PM gate preview (tasks, tests, docs)
|
|
14
|
+
- Next action to take
|
|
15
|
+
- Time tracking
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Check current progress
|
|
23
|
+
/progress
|
|
24
|
+
|
|
25
|
+
# Show progress for specific increment
|
|
26
|
+
/progress 0001
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## What It Shows
|
|
32
|
+
|
|
33
|
+
### 1. Active Increment Info
|
|
34
|
+
- Increment ID and name
|
|
35
|
+
- Current status (planned, in-progress, completed)
|
|
36
|
+
- Time started and last activity
|
|
37
|
+
|
|
38
|
+
### 2. Task Progress (with %)
|
|
39
|
+
- Visual task list with completion indicators
|
|
40
|
+
- Percentage complete (P1 tasks weighted higher)
|
|
41
|
+
- Next incomplete task highlighted
|
|
42
|
+
- Stuck/blocked task warnings
|
|
43
|
+
|
|
44
|
+
### 3. PM Gates Preview
|
|
45
|
+
- **Gate 1**: Tasks completed (P1 required)
|
|
46
|
+
- **Gate 2**: Tests passing (>80% coverage)
|
|
47
|
+
- **Gate 3**: Documentation updated
|
|
48
|
+
|
|
49
|
+
### 4. Next Action Guidance
|
|
50
|
+
- Suggests exact command to run next
|
|
51
|
+
- Warns about WIP limit violations
|
|
52
|
+
- Alerts for long-inactive increments
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Example Output
|
|
57
|
+
|
|
58
|
+
### Normal Progress
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
📊 Current Progress
|
|
62
|
+
|
|
63
|
+
Active Increment: 0001-user-authentication
|
|
64
|
+
Status: in-progress (started 2 hours ago)
|
|
65
|
+
|
|
66
|
+
Task Progress: 3/12 completed (25%)
|
|
67
|
+
├─ [✅] T001: Setup auth module (P1) - 5 min ago
|
|
68
|
+
├─ [✅] T002: Create user model (P1) - 10 min ago
|
|
69
|
+
├─ [✅] T003: Implement JWT tokens (P1) - 15 min ago
|
|
70
|
+
├─ [⏳] T004: Add password hashing (P1) ← NEXT
|
|
71
|
+
├─ [ ] T005: Create login endpoint (P1)
|
|
72
|
+
├─ [ ] T006: Add logout endpoint (P2)
|
|
73
|
+
└─ 6 more tasks...
|
|
74
|
+
|
|
75
|
+
PM Gates Preview:
|
|
76
|
+
├─ Gate 1 (Tasks): 3/8 P1 tasks done (38%) ⏳
|
|
77
|
+
├─ Gate 2 (Tests): 2/5 passing (40%) ⏳
|
|
78
|
+
└─ Gate 3 (Docs): CLAUDE.md ✅, README.md ⏳
|
|
79
|
+
|
|
80
|
+
Last Activity: 5 minutes ago
|
|
81
|
+
Next Action: Run `/do 0001` to resume at T004
|
|
82
|
+
|
|
83
|
+
💡 Tip: `/do` auto-resumes from last incomplete task!
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### No Active Work
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
📊 Current Progress
|
|
90
|
+
|
|
91
|
+
No active increment found.
|
|
92
|
+
|
|
93
|
+
Recent Increments:
|
|
94
|
+
├─ 0003-payment-flow (completed) - 1 day ago
|
|
95
|
+
├─ 0002-user-profile (completed) - 2 days ago
|
|
96
|
+
└─ 0001-auth (closed) - 3 days ago
|
|
97
|
+
|
|
98
|
+
Next Action: Run `/specweave inc "feature description"` to start new work
|
|
99
|
+
|
|
100
|
+
💡 Tip: `/inc` is your starting point for all new features
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Multiple In-Progress (WIP Limit Warning)
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
📊 Current Progress
|
|
107
|
+
|
|
108
|
+
⚠️ Warning: 2 increments in-progress (exceeds recommended WIP limit: 1)
|
|
109
|
+
|
|
110
|
+
Active Increments:
|
|
111
|
+
1. 0002-payment-flow (in-progress)
|
|
112
|
+
└─ Task Progress: 5/10 completed (50%)
|
|
113
|
+
|
|
114
|
+
2. 0003-notifications (in-progress)
|
|
115
|
+
└─ Task Progress: 2/8 completed (25%)
|
|
116
|
+
|
|
117
|
+
Recommendation: Focus on completing 0002 before starting new work.
|
|
118
|
+
|
|
119
|
+
Next Action: Run `/do 0002` to continue payment-flow
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Stuck/Inactive Increment
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
📊 Current Progress
|
|
126
|
+
|
|
127
|
+
Active Increment: 0001-user-authentication
|
|
128
|
+
Status: in-progress (started 2 days ago)
|
|
129
|
+
|
|
130
|
+
⚠️ Warning: Last activity was 6 hours ago
|
|
131
|
+
└─ Current task T005 may be stuck or blocked
|
|
132
|
+
|
|
133
|
+
Task Progress: 4/12 completed (33%)
|
|
134
|
+
├─ [✅] T001: Setup auth module (P1)
|
|
135
|
+
├─ [✅] T002: Create user model (P1)
|
|
136
|
+
├─ [✅] T003: Implement JWT tokens (P1)
|
|
137
|
+
├─ [✅] T004: Add password hashing (P1)
|
|
138
|
+
├─ [🔄] T005: Create login endpoint (P1) ← STUCK? (6 hours)
|
|
139
|
+
├─ [ ] T006: Add logout endpoint (P2)
|
|
140
|
+
└─ 6 more tasks...
|
|
141
|
+
|
|
142
|
+
Next Action:
|
|
143
|
+
1. Run `/do 0001` to retry T005
|
|
144
|
+
2. Or manually review T005 for blockers
|
|
145
|
+
3. Or skip T005 and defer to next increment
|
|
146
|
+
|
|
147
|
+
💡 Tip: Long-running tasks may need breaking down
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Implementation
|
|
153
|
+
|
|
154
|
+
**How `/progress` works**:
|
|
155
|
+
|
|
156
|
+
### Step 1: Find Active Increment
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Check for in-progress increments
|
|
160
|
+
find .specweave/increments -name "tasks.md" -exec grep -l "status: in-progress" {} \;
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Step 2: Parse Tasks and Calculate %
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Read tasks.md
|
|
167
|
+
# Count completed vs total
|
|
168
|
+
# Weight P1 tasks higher (2x), P2 (1.5x), P3 (1x)
|
|
169
|
+
# Calculate percentage
|
|
170
|
+
|
|
171
|
+
Example:
|
|
172
|
+
- P1 tasks: 3/8 complete = 3*2 / 8*2 = 6/16 (37.5%)
|
|
173
|
+
- P2 tasks: 2/3 complete = 2*1.5 / 3*1.5 = 3/4.5 (66%)
|
|
174
|
+
- P3 tasks: 1/1 complete = 1*1 / 1*1 = 1/1 (100%)
|
|
175
|
+
|
|
176
|
+
Overall: (6 + 3 + 1) / (16 + 4.5 + 1) = 10/21.5 = 46.5%
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Step 3: Check PM Gates
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Gate 1: Tasks
|
|
183
|
+
# - Count P1 tasks completed
|
|
184
|
+
# - Status: ✅ all done, ⏳ in progress, ❌ blocked
|
|
185
|
+
|
|
186
|
+
# Gate 2: Tests
|
|
187
|
+
# - Run test suite (npm test or equivalent)
|
|
188
|
+
# - Check coverage report
|
|
189
|
+
# - Status: ✅ >80%, ⏳ 50-80%, ❌ <50%
|
|
190
|
+
|
|
191
|
+
# Gate 3: Docs
|
|
192
|
+
# - Check if CLAUDE.md updated recently
|
|
193
|
+
# - Check if README.md mentions new feature
|
|
194
|
+
# - Status: ✅ updated, ⏳ partial, ❌ outdated
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Step 4: Determine Next Action
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
if [[ $in_progress_count -eq 0 ]]; then
|
|
201
|
+
echo "Run \`/inc\` to start new feature"
|
|
202
|
+
elif [[ $in_progress_count -gt 1 ]]; then
|
|
203
|
+
echo "⚠️ Multiple increments active. Focus on completing one."
|
|
204
|
+
echo "Run \`/do $oldest_increment\`"
|
|
205
|
+
elif [[ $next_task != "" ]]; then
|
|
206
|
+
echo "Run \`/do $increment_id\` to resume at $next_task"
|
|
207
|
+
else
|
|
208
|
+
echo "All tasks complete! Run \`/done $increment_id\` to close."
|
|
209
|
+
fi
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## When to Use `/progress`
|
|
215
|
+
|
|
216
|
+
Use `/progress` when you:
|
|
217
|
+
- ✅ Come back after a break and need context
|
|
218
|
+
- ✅ Want to see overall completion status
|
|
219
|
+
- ✅ Need to know which task to work on next
|
|
220
|
+
- ✅ Forgot which increment you're working on
|
|
221
|
+
- ✅ Want to check if PM gates will pass
|
|
222
|
+
- ✅ Suspect a task is stuck or blocked
|
|
223
|
+
- ✅ Have multiple increments and need to prioritize
|
|
224
|
+
|
|
225
|
+
**Typical workflow**:
|
|
226
|
+
```bash
|
|
227
|
+
# Morning: Check what you were working on
|
|
228
|
+
/progress
|
|
229
|
+
|
|
230
|
+
# Shows: "Active: 0002-payments, Task 5/10 (50%)"
|
|
231
|
+
# Shows: "Next: /do 0002 to resume at T006"
|
|
232
|
+
|
|
233
|
+
/do 0002
|
|
234
|
+
# Auto-resumes from T006
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Pro Tips
|
|
240
|
+
|
|
241
|
+
1. **No increment ID needed** - `/progress` automatically finds active increment
|
|
242
|
+
2. **Smart resume** - `/do` picks up where you left off (no task ID needed)
|
|
243
|
+
3. **WIP limits** - Keep 1-2 increments active max for focus
|
|
244
|
+
4. **Completion %** - P1 tasks weighted higher (they're critical path)
|
|
245
|
+
5. **Time tracking** - Warns if tasks are stuck (>2 hours inactive)
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Related Commands
|
|
250
|
+
|
|
251
|
+
- `/inc` - Start new increment (auto-closes previous if ready)
|
|
252
|
+
- `/do` - Execute tasks (auto-resumes from next incomplete)
|
|
253
|
+
- `/validate` - Run quality checks (optional)
|
|
254
|
+
- `/done` - Explicitly close increment (optional if `/inc` auto-closes)
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
**💡 Remember**: `/progress` is your "where am I?" command. Use it anytime you need orientation!
|