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,334 @@
|
|
|
1
|
+
# {PROJECT_NAME}
|
|
2
|
+
|
|
3
|
+
**Framework**: SpecWeave - Specification-First Development
|
|
4
|
+
**Standard**: This file follows [agents.md](https://agents.md/) for universal AI compatibility
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Project Overview
|
|
9
|
+
|
|
10
|
+
This is a **SpecWeave project** where specifications and documentation are the source of truth.
|
|
11
|
+
|
|
12
|
+
### Core Principle
|
|
13
|
+
**Specification Before Implementation** - Define WHAT and WHY before HOW
|
|
14
|
+
|
|
15
|
+
### Key Concepts
|
|
16
|
+
- **Increments**: Feature units with spec.md (WHAT/WHY), plan.md (HOW), tasks.md (checklist)
|
|
17
|
+
- **Context Manifests**: Load only relevant files (70%+ token reduction)
|
|
18
|
+
- **Living Documentation**: Specs evolve with code, never diverge
|
|
19
|
+
- **Role-Based Development**: PM defines requirements, Architect designs, DevOps deploys
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Project Structure
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
.specweave/
|
|
27
|
+
├── increments/ # Feature increments (auto-numbered)
|
|
28
|
+
│ └── 0001-feature-name/
|
|
29
|
+
│ ├── spec.md # WHAT & WHY (business requirements)
|
|
30
|
+
│ ├── plan.md # HOW (technical implementation)
|
|
31
|
+
│ ├── tasks.md # Implementation checklist
|
|
32
|
+
│ ├── tests.md # Test strategy
|
|
33
|
+
│ ├── context-manifest.yaml # Selective loading (token savings!)
|
|
34
|
+
│ ├── logs/ # Execution logs, errors
|
|
35
|
+
│ ├── scripts/ # Helper scripts
|
|
36
|
+
│ └── reports/ # Analysis, completion reports
|
|
37
|
+
├── docs/internal/
|
|
38
|
+
│ ├── strategy/ # Business specs (WHAT, WHY)
|
|
39
|
+
│ ├── architecture/ # Technical design (HOW)
|
|
40
|
+
│ ├── delivery/ # Roadmap, CI/CD, guides
|
|
41
|
+
│ ├── operations/ # Runbooks, SLOs
|
|
42
|
+
│ └── governance/ # Security, compliance
|
|
43
|
+
|
|
44
|
+
.claude/ # Claude Code components (if using Claude)
|
|
45
|
+
├── agents/ # Specialized roles (PM, Architect, DevOps, etc.)
|
|
46
|
+
├── skills/ # Capabilities (increment-planner, context-loader, etc.)
|
|
47
|
+
└── commands/ # Slash commands (/inc, /do, /done)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**CRITICAL**: Always read `context-manifest.yaml` first! Only load files listed there.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Available Agents (Specialized Roles)
|
|
55
|
+
|
|
56
|
+
SpecWeave uses role-based development. When working on tasks, adopt the appropriate role:
|
|
57
|
+
|
|
58
|
+
{AGENTS_SECTION}
|
|
59
|
+
|
|
60
|
+
### How to Use Agents
|
|
61
|
+
|
|
62
|
+
**In Claude Code** (automatic):
|
|
63
|
+
- Agents activate automatically when needed
|
|
64
|
+
- Separate context windows for each role
|
|
65
|
+
|
|
66
|
+
**In other tools** (manual):
|
|
67
|
+
- Read the agent file: `.claude/agents/{agent-name}/AGENT.md`
|
|
68
|
+
- Adopt that role's perspective and responsibilities
|
|
69
|
+
- Example: "Adopting PM role to create spec.md..."
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Available Skills (Specialized Capabilities)
|
|
74
|
+
|
|
75
|
+
SpecWeave has specialized capabilities for different tasks:
|
|
76
|
+
|
|
77
|
+
{SKILLS_SECTION}
|
|
78
|
+
|
|
79
|
+
### How to Use Skills
|
|
80
|
+
|
|
81
|
+
**In Claude Code** (automatic):
|
|
82
|
+
- Skills activate based on keywords in your request
|
|
83
|
+
- No manual invocation needed
|
|
84
|
+
|
|
85
|
+
**In other tools** (manual):
|
|
86
|
+
- Read the skill file: `.claude/skills/{skill-name}/SKILL.md`
|
|
87
|
+
- Follow the workflow described in that file
|
|
88
|
+
- Example: "Following increment-planner skill workflow..."
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Common Workflows
|
|
93
|
+
|
|
94
|
+
### Creating a Feature Increment
|
|
95
|
+
|
|
96
|
+
**Step 1: Create Increment Folder**
|
|
97
|
+
```bash
|
|
98
|
+
mkdir -p .specweave/increments/0001-feature-name
|
|
99
|
+
cd .specweave/increments/0001-feature-name
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Step 2: Create spec.md (Adopt PM Role)**
|
|
103
|
+
- Focus on WHAT and WHY (not HOW)
|
|
104
|
+
- Technology-agnostic requirements
|
|
105
|
+
- User stories with acceptance criteria
|
|
106
|
+
|
|
107
|
+
Template:
|
|
108
|
+
```markdown
|
|
109
|
+
---
|
|
110
|
+
increment: 0001-feature-name
|
|
111
|
+
title: "Feature Title"
|
|
112
|
+
priority: P1
|
|
113
|
+
status: planned
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
# Increment 0001: Feature Name
|
|
117
|
+
|
|
118
|
+
## Overview
|
|
119
|
+
[Problem statement and solution]
|
|
120
|
+
|
|
121
|
+
## User Stories
|
|
122
|
+
|
|
123
|
+
### US-001: User Story Title
|
|
124
|
+
**As a** [role]
|
|
125
|
+
**I want to** [action]
|
|
126
|
+
**So that** [benefit]
|
|
127
|
+
|
|
128
|
+
**Acceptance Criteria**:
|
|
129
|
+
- [ ] TC-0001: [testable condition]
|
|
130
|
+
- [ ] TC-0002: [testable condition]
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Step 3: Create plan.md (Adopt Architect Role)**
|
|
134
|
+
- Focus on HOW (technical implementation)
|
|
135
|
+
- Technology-specific details
|
|
136
|
+
- Component design, data models, APIs
|
|
137
|
+
|
|
138
|
+
Template:
|
|
139
|
+
```markdown
|
|
140
|
+
# Technical Plan: Feature Name
|
|
141
|
+
|
|
142
|
+
## Architecture
|
|
143
|
+
[Component design]
|
|
144
|
+
|
|
145
|
+
## Data Model
|
|
146
|
+
[Database schema]
|
|
147
|
+
|
|
148
|
+
## API Contracts
|
|
149
|
+
[Endpoints, request/response]
|
|
150
|
+
|
|
151
|
+
## Implementation Strategy
|
|
152
|
+
[Step-by-step approach]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Step 4: Create tasks.md**
|
|
156
|
+
```markdown
|
|
157
|
+
---
|
|
158
|
+
increment: 0001-feature-name
|
|
159
|
+
total_tasks: 10
|
|
160
|
+
completed_tasks: 0
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
# Implementation Tasks
|
|
164
|
+
|
|
165
|
+
- [ ] T001: Task description
|
|
166
|
+
- [ ] T002: Task description
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Step 5: Create context-manifest.yaml (CRITICAL)**
|
|
170
|
+
```yaml
|
|
171
|
+
spec_sections:
|
|
172
|
+
- .specweave/docs/internal/strategy/relevant-spec.md
|
|
173
|
+
documentation:
|
|
174
|
+
- .specweave/docs/internal/architecture/relevant-design.md
|
|
175
|
+
max_context_tokens: 10000
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Context Loading (70%+ Token Savings)
|
|
179
|
+
|
|
180
|
+
**CRITICAL RULE**: Always read `context-manifest.yaml` first!
|
|
181
|
+
|
|
182
|
+
**Why?**
|
|
183
|
+
- Full specs: 500+ pages (50k tokens) ❌
|
|
184
|
+
- Manifest files: 50 pages (5k tokens) ✅
|
|
185
|
+
- **Savings: 90% = 45k tokens saved!**
|
|
186
|
+
|
|
187
|
+
**How:**
|
|
188
|
+
1. Navigate to increment folder
|
|
189
|
+
2. Read `context-manifest.yaml`
|
|
190
|
+
3. Load ONLY files listed in manifest
|
|
191
|
+
4. Do NOT load entire `.specweave/docs/` folder
|
|
192
|
+
|
|
193
|
+
### Working with Slash Commands (Claude Code)
|
|
194
|
+
|
|
195
|
+
If using Claude Code, these slash commands are available:
|
|
196
|
+
|
|
197
|
+
| Command | Purpose | Example |
|
|
198
|
+
|---------|---------|---------|
|
|
199
|
+
| `/inc` | Create new increment | `/inc "user authentication"` |
|
|
200
|
+
| `/do` | Execute implementation | `/do` |
|
|
201
|
+
| `/progress` | Check status | `/progress` |
|
|
202
|
+
| `/done` | Close increment | `/done 0001` |
|
|
203
|
+
| `/validate` | Validate quality | `/validate 0001 --quality` |
|
|
204
|
+
| `/sync-github` | Sync to GitHub | `/sync-github` |
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Build & Test Commands
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# Install dependencies
|
|
212
|
+
npm install
|
|
213
|
+
|
|
214
|
+
# Build project
|
|
215
|
+
npm run build
|
|
216
|
+
|
|
217
|
+
# Run tests
|
|
218
|
+
npm test
|
|
219
|
+
|
|
220
|
+
# Run E2E tests (if applicable)
|
|
221
|
+
npm run test:e2e
|
|
222
|
+
|
|
223
|
+
# Type check
|
|
224
|
+
npm run type-check
|
|
225
|
+
|
|
226
|
+
# Lint
|
|
227
|
+
npm run lint
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Code Style Guidelines
|
|
233
|
+
|
|
234
|
+
### Specification Files
|
|
235
|
+
|
|
236
|
+
**spec.md** (Technology-Agnostic):
|
|
237
|
+
- Focus on WHAT and WHY, not HOW
|
|
238
|
+
- Use user stories (US-001, US-002, ...)
|
|
239
|
+
- Use acceptance criteria (TC-0001, TC-0002, ...)
|
|
240
|
+
- No technology-specific details
|
|
241
|
+
|
|
242
|
+
**plan.md** (Technology-Specific):
|
|
243
|
+
- Focus on HOW to implement
|
|
244
|
+
- Include component designs, data models, APIs
|
|
245
|
+
- Reference ADRs (Architecture Decision Records)
|
|
246
|
+
- Technology stack details
|
|
247
|
+
|
|
248
|
+
### Code Organization
|
|
249
|
+
|
|
250
|
+
**ALL supporting files belong to an increment:**
|
|
251
|
+
- Logs → `.specweave/increments/{id}/logs/`
|
|
252
|
+
- Scripts → `.specweave/increments/{id}/scripts/`
|
|
253
|
+
- Reports → `.specweave/increments/{id}/reports/`
|
|
254
|
+
- NEVER create supporting files in project root
|
|
255
|
+
|
|
256
|
+
**Benefits:**
|
|
257
|
+
- Complete traceability (know which increment created which files)
|
|
258
|
+
- Easy cleanup (delete increment folder = delete all related files)
|
|
259
|
+
- Clear context (all files for a feature in one place)
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Testing Strategy
|
|
264
|
+
|
|
265
|
+
**Four Levels of Test Cases**:
|
|
266
|
+
|
|
267
|
+
1. **Specification** (`.specweave/docs/internal/strategy/`) - TC-0001 acceptance criteria
|
|
268
|
+
2. **Feature** (`.specweave/increments/####/tests.md`) - Test coverage matrix
|
|
269
|
+
3. **Skill** (`src/skills/{name}/test-cases/`) - YAML test cases (if creating skills)
|
|
270
|
+
4. **Code** (`tests/`) - Automated tests (Unit, Integration, E2E)
|
|
271
|
+
|
|
272
|
+
**Requirements:**
|
|
273
|
+
- E2E tests (Playwright/Cypress) when UI exists
|
|
274
|
+
- >80% coverage for critical paths
|
|
275
|
+
- Tests MUST tell the truth (no false positives)
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Security Considerations
|
|
280
|
+
|
|
281
|
+
- Never commit secrets (use `.env` files, gitignored)
|
|
282
|
+
- Follow principle of least privilege
|
|
283
|
+
- Review security implications in ADRs
|
|
284
|
+
- Use the `security` agent role for security reviews
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Finding the Right Agent or Skill
|
|
289
|
+
|
|
290
|
+
When you encounter a new task:
|
|
291
|
+
|
|
292
|
+
**Finding Skills:**
|
|
293
|
+
1. Check this file (Available Skills section above)
|
|
294
|
+
2. Browse: `ls .claude/skills/`
|
|
295
|
+
3. Read: `.claude/skills/{skill-name}/SKILL.md`
|
|
296
|
+
4. Follow the workflow
|
|
297
|
+
|
|
298
|
+
**Finding Agents:**
|
|
299
|
+
1. Check this file (Available Agents section above)
|
|
300
|
+
2. Browse: `ls .claude/agents/`
|
|
301
|
+
3. Read: `.claude/agents/{agent-name}/AGENT.md`
|
|
302
|
+
4. Adopt the role
|
|
303
|
+
|
|
304
|
+
**Pro Tips:**
|
|
305
|
+
- Skills are capabilities (what you CAN do)
|
|
306
|
+
- Agents are roles (who you BECOME to do it)
|
|
307
|
+
- When stuck, ask: "Which SpecWeave skill or agent helps with [task]?"
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Important Reminders
|
|
312
|
+
|
|
313
|
+
1. ✅ **Always read context-manifest.yaml first** (70%+ token savings)
|
|
314
|
+
2. ✅ **Load only files listed in manifest** (not entire docs folder)
|
|
315
|
+
3. ✅ **Adopt role when acting as agent** (PM, Architect, DevOps, etc.)
|
|
316
|
+
4. ✅ **Technology-agnostic in spec.md** (WHAT/WHY only)
|
|
317
|
+
5. ✅ **Technology-specific in plan.md** (HOW with details)
|
|
318
|
+
6. ✅ **Use checkboxes in tasks.md** for tracking
|
|
319
|
+
7. ✅ **All supporting files in increment folders** (never in root)
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Documentation
|
|
324
|
+
|
|
325
|
+
- **CLAUDE.md**: Quick reference for Claude Code users
|
|
326
|
+
- **SPECWEAVE.md**: Complete framework documentation (if exists)
|
|
327
|
+
- **spec-weave.com**: Official website
|
|
328
|
+
- **.specweave/docs/**: Project-specific documentation
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
**Generated by SpecWeave** - Specification-first AI development framework
|
|
333
|
+
**Compatible with**: Claude Code, Cursor, Gemini CLI, Codex, GitHub Copilot, and more
|
|
334
|
+
**Last Updated**: {TIMESTAMP}
|