specweave 0.1.9 → 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 +245 -81
- 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} +141 -69
- package/src/commands/{done.md → specweave.done.md} +3 -3
- package/src/commands/{inc.md → specweave.inc.md} +4 -4
- package/src/commands/{increment.md → specweave.increment.md} +143 -76
- package/src/commands/specweave.md +430 -0
- package/src/commands/specweave.next.md +495 -0
- package/src/commands/{progress.md → specweave.progress.md} +12 -12
- 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 -298
- 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 -743
- 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/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,376 +0,0 @@
|
|
|
1
|
-
# SpecWeave Workspace Instructions
|
|
2
|
-
|
|
3
|
-
**Framework**: SpecWeave (Spec-Driven Development)
|
|
4
|
-
**Adapter**: GitHub Copilot (Basic Automation)
|
|
5
|
-
|
|
6
|
-
GitHub Copilot reads this file to understand the project structure and provide better code suggestions.
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Project Overview
|
|
11
|
-
|
|
12
|
-
This project uses **SpecWeave** for spec-driven development where specifications are the source of truth.
|
|
13
|
-
|
|
14
|
-
**Core Principle**: Define WHAT and WHY before HOW. Document before implementing.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Project Structure
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
.specweave/
|
|
22
|
-
├── config.yaml # Project configuration
|
|
23
|
-
├── docs/ # Documentation (5-pillar structure)
|
|
24
|
-
│ ├── internal/
|
|
25
|
-
│ │ ├── strategy/ # Business requirements (WHAT/WHY)
|
|
26
|
-
│ │ ├── architecture/ # Technical design (HOW)
|
|
27
|
-
│ │ ├── delivery/ # Roadmap, CI/CD
|
|
28
|
-
│ │ ├── operations/ # Runbooks, monitoring
|
|
29
|
-
│ │ └── governance/ # Security, compliance
|
|
30
|
-
│ └── public/ # Published documentation
|
|
31
|
-
│
|
|
32
|
-
└── increments/ # Features organized by increments
|
|
33
|
-
└── ####-feature-name/ # Auto-numbered folders
|
|
34
|
-
├── spec.md # WHAT & WHY (business requirements)
|
|
35
|
-
├── plan.md # HOW (technical design)
|
|
36
|
-
├── tasks.md # Implementation steps (checkboxes)
|
|
37
|
-
├── tests.md # Test strategy & coverage
|
|
38
|
-
├── context-manifest.yaml # What context to load (70%+ token savings)
|
|
39
|
-
├── logs/ # Execution logs
|
|
40
|
-
├── scripts/ # Helper scripts
|
|
41
|
-
└── reports/ # Analysis reports
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Workflow: Creating Features
|
|
47
|
-
|
|
48
|
-
### Step 1: Create Increment Folder
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
mkdir -p .specweave/increments/####-feature-name
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Auto-increment number (e.g., 0001, 0002, 0003).
|
|
55
|
-
|
|
56
|
-
### Step 2: Create spec.md (WHAT & WHY)
|
|
57
|
-
|
|
58
|
-
**Purpose**: Define business requirements (technology-agnostic)
|
|
59
|
-
|
|
60
|
-
**Structure**:
|
|
61
|
-
```markdown
|
|
62
|
-
---
|
|
63
|
-
increment: ####-feature-name
|
|
64
|
-
title: "Feature Title"
|
|
65
|
-
priority: P1
|
|
66
|
-
status: planned
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
# Increment ####: Feature Name
|
|
70
|
-
|
|
71
|
-
## Overview
|
|
72
|
-
[Problem statement and solution]
|
|
73
|
-
|
|
74
|
-
## User Stories
|
|
75
|
-
|
|
76
|
-
### US-001: User Story Title
|
|
77
|
-
**As a** [role]
|
|
78
|
-
**I want to** [action]
|
|
79
|
-
**So that** [benefit]
|
|
80
|
-
|
|
81
|
-
**Acceptance Criteria**:
|
|
82
|
-
- [ ] **TC-0001**: [testable condition]
|
|
83
|
-
- [ ] **TC-0002**: [testable condition]
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**Important**:
|
|
87
|
-
- Technology-agnostic (WHAT/WHY, not HOW)
|
|
88
|
-
- User stories with acceptance criteria
|
|
89
|
-
- Test case IDs (TC-0001, TC-0002) for traceability
|
|
90
|
-
|
|
91
|
-
### Step 3: Create plan.md (HOW)
|
|
92
|
-
|
|
93
|
-
**Purpose**: Define technical implementation
|
|
94
|
-
|
|
95
|
-
**Structure**:
|
|
96
|
-
```markdown
|
|
97
|
-
# Technical Plan: Feature Name
|
|
98
|
-
|
|
99
|
-
## Architecture
|
|
100
|
-
|
|
101
|
-
### Components
|
|
102
|
-
[List components/services]
|
|
103
|
-
|
|
104
|
-
### Data Model
|
|
105
|
-
[Database schema, entities]
|
|
106
|
-
|
|
107
|
-
### API Contracts
|
|
108
|
-
[Endpoints, request/response]
|
|
109
|
-
|
|
110
|
-
## Implementation Strategy
|
|
111
|
-
[Step-by-step technical approach]
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
**Important**:
|
|
115
|
-
- Technology-specific details
|
|
116
|
-
- Reference ADRs (Architecture Decision Records)
|
|
117
|
-
- Component design, data models, APIs
|
|
118
|
-
|
|
119
|
-
### Step 4: Create tasks.md (Implementation)
|
|
120
|
-
|
|
121
|
-
**Purpose**: Implementation checklist
|
|
122
|
-
|
|
123
|
-
**Structure**:
|
|
124
|
-
```markdown
|
|
125
|
-
---
|
|
126
|
-
increment: ####-feature-name
|
|
127
|
-
total_tasks: 10
|
|
128
|
-
completed_tasks: 0
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
# Implementation Tasks
|
|
132
|
-
|
|
133
|
-
## Phase 1
|
|
134
|
-
|
|
135
|
-
### T001: Task Description
|
|
136
|
-
- [ ] Subtask 1
|
|
137
|
-
- [ ] Subtask 2
|
|
138
|
-
|
|
139
|
-
[Checkboxes for task tracking]
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### Step 5: Create context-manifest.yaml (CRITICAL)
|
|
143
|
-
|
|
144
|
-
**Purpose**: Load ONLY relevant files (70%+ token savings)
|
|
145
|
-
|
|
146
|
-
**Structure**:
|
|
147
|
-
```yaml
|
|
148
|
-
---
|
|
149
|
-
spec_sections:
|
|
150
|
-
- .specweave/docs/internal/strategy/{module}/spec.md
|
|
151
|
-
documentation:
|
|
152
|
-
- .specweave/docs/internal/architecture/{module}/design.md
|
|
153
|
-
max_context_tokens: 10000
|
|
154
|
-
---
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
**Why Important**:
|
|
158
|
-
- Full specs might be 500+ pages (50k tokens)
|
|
159
|
-
- Manifest lists only relevant 50 pages (5k tokens)
|
|
160
|
-
- Saves 90% tokens = faster, more accurate suggestions
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## Context Loading (70%+ Token Reduction)
|
|
165
|
-
|
|
166
|
-
**CRITICAL RULE**: Always reference context-manifest.yaml when working on a feature.
|
|
167
|
-
|
|
168
|
-
**Example**:
|
|
169
|
-
1. Open `.specweave/increments/0002-auth/context-manifest.yaml`
|
|
170
|
-
2. See which files are relevant:
|
|
171
|
-
```yaml
|
|
172
|
-
spec_sections:
|
|
173
|
-
- .specweave/docs/internal/strategy/auth/spec.md
|
|
174
|
-
documentation:
|
|
175
|
-
- .specweave/docs/internal/architecture/auth/design.md
|
|
176
|
-
```
|
|
177
|
-
3. ONLY read those 2 files (not entire docs/ folder)
|
|
178
|
-
|
|
179
|
-
**Benefit**: Copilot provides suggestions based on relevant context only.
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
## File Naming Conventions
|
|
184
|
-
|
|
185
|
-
| File | Purpose | Technology |
|
|
186
|
-
|------|---------|------------|
|
|
187
|
-
| **spec.md** | Business requirements (WHAT/WHY) | Agnostic |
|
|
188
|
-
| **plan.md** | Technical design (HOW) | Specific |
|
|
189
|
-
| **tasks.md** | Implementation checklist | N/A |
|
|
190
|
-
| **tests.md** | Test strategy and coverage | N/A |
|
|
191
|
-
| **context-manifest.yaml** | Context loading config | N/A |
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Increment Lifecycle
|
|
196
|
-
|
|
197
|
-
### Status Progression
|
|
198
|
-
|
|
199
|
-
```
|
|
200
|
-
planned → in-progress → completed → closed
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Update spec.md Frontmatter
|
|
204
|
-
|
|
205
|
-
When starting work:
|
|
206
|
-
```yaml
|
|
207
|
-
status: in-progress
|
|
208
|
-
started: 2025-10-27
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
When finishing:
|
|
212
|
-
```yaml
|
|
213
|
-
status: completed
|
|
214
|
-
completed: 2025-10-27
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## Best Practices
|
|
220
|
-
|
|
221
|
-
### Spec.md (Technology-Agnostic)
|
|
222
|
-
|
|
223
|
-
**Good**:
|
|
224
|
-
```markdown
|
|
225
|
-
## FR-001: User Authentication
|
|
226
|
-
Users must be able to securely log in with email and password.
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
**Bad** (too technical):
|
|
230
|
-
```markdown
|
|
231
|
-
## FR-001: User Authentication
|
|
232
|
-
Users authenticate via JWT tokens stored in httpOnly cookies.
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
Technical details go in plan.md, not spec.md.
|
|
236
|
-
|
|
237
|
-
### Plan.md (Technology-Specific)
|
|
238
|
-
|
|
239
|
-
**Good**:
|
|
240
|
-
```markdown
|
|
241
|
-
## Authentication Implementation
|
|
242
|
-
- JWT tokens (jsonwebtoken library)
|
|
243
|
-
- httpOnly cookies (secure: true, sameSite: 'strict')
|
|
244
|
-
- bcrypt password hashing (10 rounds)
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### Tasks.md (Checkboxes)
|
|
248
|
-
|
|
249
|
-
Use checkboxes for task tracking:
|
|
250
|
-
```markdown
|
|
251
|
-
- [ ] Not started
|
|
252
|
-
- [x] Completed
|
|
253
|
-
- [-] In progress (optional)
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## Test Case Traceability
|
|
259
|
-
|
|
260
|
-
### Four Levels
|
|
261
|
-
|
|
262
|
-
1. **Specification** (TC-0001 in spec.md):
|
|
263
|
-
```markdown
|
|
264
|
-
- [ ] **TC-0001**: Valid credentials → redirect to dashboard
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
2. **Feature Test Strategy** (tests.md):
|
|
268
|
-
Maps TC-0001 to test file location
|
|
269
|
-
|
|
270
|
-
3. **Code Tests** (tests/ directory):
|
|
271
|
-
```typescript
|
|
272
|
-
test('TC-0001: Valid Login Flow', async () => {
|
|
273
|
-
// Implementation
|
|
274
|
-
});
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
**Benefit**: Complete traceability from requirements to tests.
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
|
-
## Understanding Roles (for Context)
|
|
282
|
-
|
|
283
|
-
When creating files, think about the role's perspective:
|
|
284
|
-
|
|
285
|
-
### PM (Product Manager)
|
|
286
|
-
- **Focus**: WHAT and WHY
|
|
287
|
-
- **File**: spec.md
|
|
288
|
-
- **Content**: User stories, acceptance criteria, business value
|
|
289
|
-
|
|
290
|
-
### Architect
|
|
291
|
-
- **Focus**: HOW (technical)
|
|
292
|
-
- **File**: plan.md
|
|
293
|
-
- **Content**: System design, components, data models, ADRs
|
|
294
|
-
|
|
295
|
-
### DevOps
|
|
296
|
-
- **Focus**: Infrastructure, deployment
|
|
297
|
-
- **File**: plan.md (infrastructure section), scripts/
|
|
298
|
-
- **Content**: Terraform, Kubernetes, CI/CD
|
|
299
|
-
|
|
300
|
-
### QA Lead
|
|
301
|
-
- **Focus**: Testing strategy
|
|
302
|
-
- **File**: tests.md
|
|
303
|
-
- **Content**: Test coverage, test cases, quality metrics
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
## Common Patterns
|
|
308
|
-
|
|
309
|
-
### Creating a Feature
|
|
310
|
-
1. Create increment folder (auto-numbered)
|
|
311
|
-
2. Create spec.md (PM perspective - WHAT/WHY)
|
|
312
|
-
3. Create plan.md (Architect perspective - HOW)
|
|
313
|
-
4. Create tasks.md (implementation checklist)
|
|
314
|
-
5. Create context-manifest.yaml (list relevant files)
|
|
315
|
-
|
|
316
|
-
### Implementing a Feature
|
|
317
|
-
1. Read context-manifest.yaml
|
|
318
|
-
2. Load ONLY files listed there
|
|
319
|
-
3. Follow tasks.md checklist
|
|
320
|
-
4. Update task completion (checkboxes)
|
|
321
|
-
|
|
322
|
-
### Testing a Feature
|
|
323
|
-
1. Read tests.md for test strategy
|
|
324
|
-
2. Implement E2E/unit/integration tests
|
|
325
|
-
3. Reference TC-0001 IDs in test names
|
|
326
|
-
4. Verify all acceptance criteria covered
|
|
327
|
-
|
|
328
|
-
---
|
|
329
|
-
|
|
330
|
-
## Copilot Integration
|
|
331
|
-
|
|
332
|
-
**How Copilot Uses These Instructions**:
|
|
333
|
-
|
|
334
|
-
1. **Better Code Suggestions**:
|
|
335
|
-
- Understands SpecWeave structure
|
|
336
|
-
- Suggests code following patterns
|
|
337
|
-
- Respects file naming conventions
|
|
338
|
-
|
|
339
|
-
2. **Context Awareness**:
|
|
340
|
-
- Reads context-manifest.yaml
|
|
341
|
-
- Provides suggestions based on relevant docs
|
|
342
|
-
- Avoids suggesting irrelevant code
|
|
343
|
-
|
|
344
|
-
3. **Pattern Recognition**:
|
|
345
|
-
- Learns from spec.md, plan.md structure
|
|
346
|
-
- Suggests consistent formatting
|
|
347
|
-
- Follows test case ID patterns (TC-0001)
|
|
348
|
-
|
|
349
|
-
---
|
|
350
|
-
|
|
351
|
-
## Quick Reference
|
|
352
|
-
|
|
353
|
-
**Create Increment**:
|
|
354
|
-
```bash
|
|
355
|
-
mkdir -p .specweave/increments/####-feature-name
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
**Files to Create**:
|
|
359
|
-
1. spec.md (WHAT/WHY, technology-agnostic)
|
|
360
|
-
2. plan.md (HOW, technology-specific)
|
|
361
|
-
3. tasks.md (implementation checklist)
|
|
362
|
-
4. context-manifest.yaml (context loading)
|
|
363
|
-
|
|
364
|
-
**Context Loading**:
|
|
365
|
-
- Always reference context-manifest.yaml
|
|
366
|
-
- Load ONLY files listed there
|
|
367
|
-
- Saves 70%+ tokens
|
|
368
|
-
|
|
369
|
-
**Test Traceability**:
|
|
370
|
-
- TC-0001 in spec.md
|
|
371
|
-
- Mapped in tests.md
|
|
372
|
-
- Referenced in test code
|
|
373
|
-
|
|
374
|
-
---
|
|
375
|
-
|
|
376
|
-
**For complete documentation, see SPECWEAVE.md in project root.**
|
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
# SpecWeave Configuration for Cursor
|
|
2
|
-
|
|
3
|
-
**Project Framework**: SpecWeave (Spec-Driven Development)
|
|
4
|
-
**Adapter**: Cursor (Semi-Automation)
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Core Philosophy
|
|
9
|
-
|
|
10
|
-
**Anthropic Sets Standards** (MCP, Skills, Agents) that provide superior results. This file teaches you how to **BEHAVE LIKE** you have these capabilities in Cursor.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Understanding SpecWeave Concepts
|
|
15
|
-
|
|
16
|
-
### What is a Skill?
|
|
17
|
-
**In Claude Code**: Auto-activating capability (.claude/skills/)
|
|
18
|
-
**In Cursor**: Read workflow instructions and follow them manually
|
|
19
|
-
|
|
20
|
-
### What is an Agent?
|
|
21
|
-
**In Claude Code**: Specialized role with separate context window
|
|
22
|
-
**In Cursor**: Adopt role's perspective and responsibilities
|
|
23
|
-
|
|
24
|
-
### What is a Hook?
|
|
25
|
-
**In Claude Code**: Auto-executes on events (e.g., docs update after task)
|
|
26
|
-
**In Cursor**: Manual - user must request updates
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Critical Workflow: Creating Features
|
|
31
|
-
|
|
32
|
-
### When user requests a feature (e.g., "create increment for user auth"):
|
|
33
|
-
|
|
34
|
-
**Step 1: Check for existing increment**
|
|
35
|
-
```bash
|
|
36
|
-
ls .specweave/increments/
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
**Step 2: If increment doesn't exist, create structure**
|
|
40
|
-
```bash
|
|
41
|
-
# Auto-increment number
|
|
42
|
-
mkdir -p .specweave/increments/####-feature-name/
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Step 3: Create spec.md (ACT AS PM AGENT)**
|
|
46
|
-
|
|
47
|
-
**PM Agent Role**:
|
|
48
|
-
- Focus on WHAT and WHY (not HOW)
|
|
49
|
-
- Technology-agnostic requirements
|
|
50
|
-
- User stories (US-001, US-002, ...)
|
|
51
|
-
- Acceptance criteria (TC-0001, TC-0002, ...)
|
|
52
|
-
- Success criteria
|
|
53
|
-
|
|
54
|
-
**Template**:
|
|
55
|
-
```markdown
|
|
56
|
-
---
|
|
57
|
-
increment: ####-feature-name
|
|
58
|
-
title: "Feature Title"
|
|
59
|
-
priority: P1
|
|
60
|
-
status: planned
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
# Increment ####: Feature Name
|
|
64
|
-
|
|
65
|
-
## Overview
|
|
66
|
-
[Problem statement and solution]
|
|
67
|
-
|
|
68
|
-
## User Stories
|
|
69
|
-
|
|
70
|
-
### US-001: User Story Title
|
|
71
|
-
**As a** [role]
|
|
72
|
-
**I want to** [action]
|
|
73
|
-
**So that** [benefit]
|
|
74
|
-
|
|
75
|
-
**Acceptance Criteria**:
|
|
76
|
-
- [ ] **TC-0001**: [testable condition]
|
|
77
|
-
- [ ] **TC-0002**: [testable condition]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**Step 4: Create plan.md (ACT AS ARCHITECT AGENT)**
|
|
81
|
-
|
|
82
|
-
**Architect Agent Role**:
|
|
83
|
-
- Focus on HOW (technical implementation)
|
|
84
|
-
- Technology-specific details
|
|
85
|
-
- Component design, data models, APIs
|
|
86
|
-
- Reference ADRs (Architecture Decision Records)
|
|
87
|
-
|
|
88
|
-
**Template**:
|
|
89
|
-
```markdown
|
|
90
|
-
# Technical Plan: Feature Name
|
|
91
|
-
|
|
92
|
-
## Architecture
|
|
93
|
-
|
|
94
|
-
### Components
|
|
95
|
-
[List components/services]
|
|
96
|
-
|
|
97
|
-
### Data Model
|
|
98
|
-
[Database schema, entities]
|
|
99
|
-
|
|
100
|
-
### API Contracts
|
|
101
|
-
[Endpoints, request/response formats]
|
|
102
|
-
|
|
103
|
-
## Implementation Strategy
|
|
104
|
-
[Step-by-step approach]
|
|
105
|
-
|
|
106
|
-
## ADRs Referenced
|
|
107
|
-
- ADR-0001: [decision title]
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**Step 5: Create tasks.md**
|
|
111
|
-
|
|
112
|
-
**Format**:
|
|
113
|
-
```markdown
|
|
114
|
-
---
|
|
115
|
-
increment: ####-feature-name
|
|
116
|
-
total_tasks: 10
|
|
117
|
-
completed_tasks: 0
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
# Implementation Tasks
|
|
121
|
-
|
|
122
|
-
## Phase 1
|
|
123
|
-
### T001: Task description
|
|
124
|
-
- [ ] Subtask 1
|
|
125
|
-
- [ ] Subtask 2
|
|
126
|
-
|
|
127
|
-
[Checkboxes for task tracking]
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**Step 6: Create context-manifest.yaml (CRITICAL FOR TOKEN SAVINGS)**
|
|
131
|
-
|
|
132
|
-
**Purpose**: Load ONLY relevant files (70%+ token reduction)
|
|
133
|
-
|
|
134
|
-
**Format**:
|
|
135
|
-
```yaml
|
|
136
|
-
---
|
|
137
|
-
spec_sections:
|
|
138
|
-
- .specweave/docs/internal/strategy/{module}/spec.md
|
|
139
|
-
documentation:
|
|
140
|
-
- .specweave/docs/internal/architecture/{module}/design.md
|
|
141
|
-
max_context_tokens: 10000
|
|
142
|
-
---
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## Context Loading (70%+ Token Reduction)
|
|
148
|
-
|
|
149
|
-
**CRITICAL RULE**: Always read `context-manifest.yaml` FIRST!
|
|
150
|
-
|
|
151
|
-
### When user says "implement this feature":
|
|
152
|
-
|
|
153
|
-
1. **Read context-manifest.yaml** in increment folder
|
|
154
|
-
2. **ONLY load files listed in manifest**
|
|
155
|
-
3. **DO NOT load entire .specweave/docs/ folder**
|
|
156
|
-
|
|
157
|
-
**Why?**
|
|
158
|
-
- Spec may be 500+ pages total
|
|
159
|
-
- Manifest lists only relevant 50 pages
|
|
160
|
-
- Saves 70%+ tokens
|
|
161
|
-
- Faster, more accurate responses
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## Simulating Skills
|
|
166
|
-
|
|
167
|
-
### increment-planner Skill (Creating Features)
|
|
168
|
-
**When**: User says "create increment" or "plan feature"
|
|
169
|
-
**Do**:
|
|
170
|
-
1. Read .specweave/config.yaml
|
|
171
|
-
2. Auto-increment number
|
|
172
|
-
3. Create spec.md (act as PM)
|
|
173
|
-
4. Create plan.md (act as Architect)
|
|
174
|
-
5. Create tasks.md
|
|
175
|
-
6. Create context-manifest.yaml
|
|
176
|
-
|
|
177
|
-
### context-loader Skill (Loading Context)
|
|
178
|
-
**When**: User says "load context" or starting implementation
|
|
179
|
-
**Do**:
|
|
180
|
-
1. Find context-manifest.yaml
|
|
181
|
-
2. Load ONLY files listed there
|
|
182
|
-
3. Confirm to user: "Loaded X files (Y tokens)"
|
|
183
|
-
|
|
184
|
-
### skill-router Skill (Routing Requests)
|
|
185
|
-
**When**: User asks ambiguous question
|
|
186
|
-
**Do**:
|
|
187
|
-
1. Determine if it's:
|
|
188
|
-
- Feature request → use increment-planner
|
|
189
|
-
- Documentation question → load docs
|
|
190
|
-
- Implementation → load context + implement
|
|
191
|
-
2. Route to appropriate workflow
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Simulating Agents
|
|
196
|
-
|
|
197
|
-
### PM Agent
|
|
198
|
-
**When to adopt**: Creating specs, requirements, user stories
|
|
199
|
-
**Responsibilities**:
|
|
200
|
-
- Define WHAT and WHY (not HOW)
|
|
201
|
-
- Technology-agnostic
|
|
202
|
-
- User stories with acceptance criteria
|
|
203
|
-
- Success criteria and KPIs
|
|
204
|
-
|
|
205
|
-
**Example**:
|
|
206
|
-
User: "Act as PM and create spec for payments"
|
|
207
|
-
→ Adopt PM perspective, focus on business requirements
|
|
208
|
-
|
|
209
|
-
### Architect Agent
|
|
210
|
-
**When to adopt**: Creating technical plans, system design
|
|
211
|
-
**Responsibilities**:
|
|
212
|
-
- Define HOW (technical implementation)
|
|
213
|
-
- Component design, data models
|
|
214
|
-
- API contracts, integrations
|
|
215
|
-
- Reference ADRs
|
|
216
|
-
|
|
217
|
-
**Example**:
|
|
218
|
-
User: "Act as Architect and design payment system"
|
|
219
|
-
→ Adopt Architect perspective, focus on technical design
|
|
220
|
-
|
|
221
|
-
### DevOps Agent
|
|
222
|
-
**When to adopt**: Infrastructure, deployment, CI/CD
|
|
223
|
-
**Responsibilities**:
|
|
224
|
-
- Infrastructure as Code (Terraform, etc.)
|
|
225
|
-
- Deployment strategy
|
|
226
|
-
- Monitoring, logging
|
|
227
|
-
- Cost optimization
|
|
228
|
-
|
|
229
|
-
### QA Lead Agent
|
|
230
|
-
**When to adopt**: Test strategy, test cases
|
|
231
|
-
**Responsibilities**:
|
|
232
|
-
- Test coverage matrix
|
|
233
|
-
- E2E, unit, integration tests
|
|
234
|
-
- Test case IDs (map TC-0001 to tests)
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## @ Context Shortcuts
|
|
239
|
-
|
|
240
|
-
When user types `@increments`, `@docs`, `@strategy`, `@tests`:
|
|
241
|
-
|
|
242
|
-
### @increments
|
|
243
|
-
**Load**:
|
|
244
|
-
- Current increment's spec.md
|
|
245
|
-
- Current increment's plan.md
|
|
246
|
-
- Current increment's tasks.md
|
|
247
|
-
- Current increment's context-manifest.yaml
|
|
248
|
-
|
|
249
|
-
### @docs
|
|
250
|
-
**Load**:
|
|
251
|
-
- .specweave/docs/internal/architecture/
|
|
252
|
-
- Focus on system design, ADRs
|
|
253
|
-
|
|
254
|
-
### @strategy
|
|
255
|
-
**Load**:
|
|
256
|
-
- .specweave/docs/internal/strategy/
|
|
257
|
-
- Focus on business requirements, PRDs
|
|
258
|
-
|
|
259
|
-
### @tests
|
|
260
|
-
**Load**:
|
|
261
|
-
- .specweave/increments/*/tests.md
|
|
262
|
-
- tests/ directory
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
## Composer Multi-File Editing
|
|
267
|
-
|
|
268
|
-
When user says "update spec and plan to add OAuth2":
|
|
269
|
-
1. Use Composer (Cmd+I)
|
|
270
|
-
2. Edit both files simultaneously
|
|
271
|
-
3. Maintain consistency between them
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## Increment Lifecycle
|
|
276
|
-
|
|
277
|
-
### Status Progression
|
|
278
|
-
```
|
|
279
|
-
planned → in-progress → completed → closed
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### When user says "start increment":
|
|
283
|
-
1. Update spec.md frontmatter: `status: in-progress`
|
|
284
|
-
2. Check WIP limit (max 2 in-progress)
|
|
285
|
-
|
|
286
|
-
### When user says "complete increment":
|
|
287
|
-
1. Verify all P1 tasks done
|
|
288
|
-
2. Update spec.md: `status: completed`
|
|
289
|
-
3. Generate completion report
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
|
|
293
|
-
## Important Reminders
|
|
294
|
-
|
|
295
|
-
1. ✅ **Always read context-manifest.yaml first**
|
|
296
|
-
2. ✅ **Load only files listed in manifest** (saves 70%+ tokens)
|
|
297
|
-
3. ✅ **Adopt role when acting as agent** (PM, Architect, DevOps, etc.)
|
|
298
|
-
4. ✅ **Technology-agnostic in spec.md** (WHAT/WHY only)
|
|
299
|
-
5. ✅ **Technology-specific in plan.md** (HOW with details)
|
|
300
|
-
6. ✅ **Use checkboxes in tasks.md** for task tracking
|
|
301
|
-
7. ✅ **Reference SPECWEAVE.md** for complete guide
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## Limitations (vs Claude Code)
|
|
306
|
-
|
|
307
|
-
❌ **No auto-activation** - You must explicitly ask for workflows
|
|
308
|
-
❌ **No separate context windows** - All context shared
|
|
309
|
-
❌ **No hooks** - Manual doc updates required
|
|
310
|
-
|
|
311
|
-
✅ **But still powerful with Composer + @ shortcuts!**
|
|
312
|
-
|
|
313
|
-
---
|
|
314
|
-
|
|
315
|
-
## Quick Reference
|
|
316
|
-
|
|
317
|
-
**Create feature**: "Create increment for [feature name]"
|
|
318
|
-
**Load context**: "@increments" or read context-manifest.yaml
|
|
319
|
-
**Act as role**: "Act as PM and create spec"
|
|
320
|
-
**Multi-file edit**: Use Composer (Cmd+I)
|
|
321
|
-
**Check structure**: "List increments" or `ls .specweave/increments/`
|
|
322
|
-
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
**For complete documentation, see SPECWEAVE.md**
|