specweave 0.1.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/INSTALL.md +848 -0
- package/LICENSE +21 -0
- package/README.md +675 -0
- package/SPECWEAVE.md +665 -0
- package/bin/install-agents.sh +57 -0
- package/bin/install-all.sh +49 -0
- package/bin/install-commands.sh +56 -0
- package/bin/install-skills.sh +57 -0
- package/bin/specweave.js +81 -0
- package/dist/adapters/adapter-base.d.ts +50 -0
- package/dist/adapters/adapter-base.d.ts.map +1 -0
- package/dist/adapters/adapter-base.js +146 -0
- package/dist/adapters/adapter-base.js.map +1 -0
- package/dist/adapters/adapter-interface.d.ts +108 -0
- package/dist/adapters/adapter-interface.d.ts.map +1 -0
- package/dist/adapters/adapter-interface.js +9 -0
- package/dist/adapters/adapter-interface.js.map +1 -0
- package/dist/adapters/claude/adapter.d.ts +54 -0
- package/dist/adapters/claude/adapter.d.ts.map +1 -0
- package/dist/adapters/claude/adapter.js +184 -0
- package/dist/adapters/claude/adapter.js.map +1 -0
- package/dist/adapters/copilot/adapter.d.ts +42 -0
- package/dist/adapters/copilot/adapter.d.ts.map +1 -0
- package/dist/adapters/copilot/adapter.js +239 -0
- package/dist/adapters/copilot/adapter.js.map +1 -0
- package/dist/adapters/cursor/adapter.d.ts +42 -0
- package/dist/adapters/cursor/adapter.d.ts.map +1 -0
- package/dist/adapters/cursor/adapter.js +297 -0
- package/dist/adapters/cursor/adapter.js.map +1 -0
- package/dist/adapters/generic/adapter.d.ts +40 -0
- package/dist/adapters/generic/adapter.d.ts.map +1 -0
- package/dist/adapters/generic/adapter.js +155 -0
- package/dist/adapters/generic/adapter.js.map +1 -0
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +247 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install.d.ts +7 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +160 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/list.d.ts +6 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +154 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/package.json +90 -0
- package/src/adapters/README.md +312 -0
- package/src/adapters/adapter-base.ts +146 -0
- package/src/adapters/adapter-interface.ts +120 -0
- package/src/adapters/claude/README.md +241 -0
- package/src/adapters/claude/adapter.ts +157 -0
- package/src/adapters/copilot/.github/copilot/instructions.md +376 -0
- package/src/adapters/copilot/README.md +200 -0
- package/src/adapters/copilot/adapter.ts +210 -0
- package/src/adapters/cursor/.cursor/context/docs-context.md +62 -0
- package/src/adapters/cursor/.cursor/context/increments-context.md +71 -0
- package/src/adapters/cursor/.cursor/context/strategy-context.md +73 -0
- package/src/adapters/cursor/.cursor/context/tests-context.md +89 -0
- package/src/adapters/cursor/.cursorrules +325 -0
- package/src/adapters/cursor/README.md +243 -0
- package/src/adapters/cursor/adapter.ts +268 -0
- package/src/adapters/generic/README.md +277 -0
- package/src/adapters/generic/SPECWEAVE-MANUAL.md +676 -0
- package/src/adapters/generic/adapter.ts +159 -0
- package/src/adapters/registry.yaml +126 -0
- package/src/agents/architect/AGENT.md +416 -0
- package/src/agents/devops/AGENT.md +1738 -0
- package/src/agents/docs-writer/AGENT.md +239 -0
- package/src/agents/performance/AGENT.md +228 -0
- package/src/agents/pm/AGENT.md +751 -0
- package/src/agents/qa-lead/AGENT.md +150 -0
- package/src/agents/security/AGENT.md +179 -0
- package/src/agents/sre/AGENT.md +582 -0
- package/src/agents/sre/modules/backend-diagnostics.md +481 -0
- package/src/agents/sre/modules/database-diagnostics.md +509 -0
- package/src/agents/sre/modules/infrastructure.md +561 -0
- package/src/agents/sre/modules/monitoring.md +439 -0
- package/src/agents/sre/modules/security-incidents.md +421 -0
- package/src/agents/sre/modules/ui-diagnostics.md +302 -0
- package/src/agents/sre/playbooks/01-high-cpu-usage.md +204 -0
- package/src/agents/sre/playbooks/02-database-deadlock.md +241 -0
- package/src/agents/sre/playbooks/03-memory-leak.md +252 -0
- package/src/agents/sre/playbooks/04-slow-api-response.md +269 -0
- package/src/agents/sre/playbooks/05-ddos-attack.md +293 -0
- package/src/agents/sre/playbooks/06-disk-full.md +314 -0
- package/src/agents/sre/playbooks/07-service-down.md +333 -0
- package/src/agents/sre/playbooks/08-data-corruption.md +337 -0
- package/src/agents/sre/playbooks/09-cascade-failure.md +430 -0
- package/src/agents/sre/playbooks/10-rate-limit-exceeded.md +464 -0
- package/src/agents/sre/scripts/health-check.sh +230 -0
- package/src/agents/sre/scripts/log-analyzer.py +213 -0
- package/src/agents/sre/scripts/metrics-collector.sh +294 -0
- package/src/agents/sre/scripts/trace-analyzer.js +257 -0
- package/src/agents/sre/templates/incident-report.md +249 -0
- package/src/agents/sre/templates/mitigation-plan.md +375 -0
- package/src/agents/sre/templates/post-mortem.md +418 -0
- package/src/agents/sre/templates/runbook-template.md +412 -0
- package/src/agents/tech-lead/AGENT.md +263 -0
- package/src/commands/add-tasks.md +176 -0
- package/src/commands/close-increment.md +347 -0
- package/src/commands/create-increment.md +223 -0
- package/src/commands/create-project.md +528 -0
- package/src/commands/generate-docs.md +623 -0
- package/src/commands/list-increments.md +180 -0
- package/src/commands/review-docs.md +331 -0
- package/src/commands/start-increment.md +139 -0
- package/src/commands/sync-github.md +115 -0
- package/src/commands/validate-increment.md +800 -0
- package/src/hooks/README.md +252 -0
- package/src/hooks/docs-changed.sh +59 -0
- package/src/hooks/human-input-required.sh +55 -0
- package/src/hooks/post-task-completion.sh +57 -0
- package/src/hooks/pre-implementation.sh +47 -0
- package/src/skills/ado-sync/README.md +449 -0
- package/src/skills/ado-sync/SKILL.md +245 -0
- package/src/skills/ado-sync/test-cases/test-1.yaml +9 -0
- package/src/skills/ado-sync/test-cases/test-2.yaml +8 -0
- package/src/skills/ado-sync/test-cases/test-3.yaml +9 -0
- package/src/skills/bmad-method-expert/SKILL.md +628 -0
- package/src/skills/bmad-method-expert/scripts/analyze-project.js +318 -0
- package/src/skills/bmad-method-expert/scripts/check-setup.js +208 -0
- package/src/skills/bmad-method-expert/scripts/generate-template.js +1149 -0
- package/src/skills/bmad-method-expert/scripts/validate-documents.js +340 -0
- package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/brownfield-analyzer/SKILL.md +523 -0
- package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +48 -0
- package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/brownfield-onboarder/SKILL.md +625 -0
- package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/context-loader/SKILL.md +734 -0
- package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +39 -0
- package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +44 -0
- package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +45 -0
- package/src/skills/context-optimizer/SKILL.md +618 -0
- package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +97 -0
- package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +109 -0
- package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +98 -0
- package/src/skills/cost-optimizer/SKILL.md +190 -0
- package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +75 -0
- package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +52 -0
- package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +63 -0
- package/src/skills/cost-optimizer/test-results/README.md +46 -0
- package/src/skills/design-system-architect/SKILL.md +107 -0
- package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +23 -0
- package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +24 -0
- package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +23 -0
- package/src/skills/diagrams-architect/SKILL.md +763 -0
- package/src/skills/diagrams-generator/SKILL.md +25 -0
- package/src/skills/diagrams-generator/test-cases/test-1.yaml +9 -0
- package/src/skills/diagrams-generator/test-cases/test-2.yaml +9 -0
- package/src/skills/diagrams-generator/test-cases/test-3.yaml +8 -0
- package/src/skills/docs-updater/README.md +48 -0
- package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/dotnet-backend/SKILL.md +250 -0
- package/src/skills/e2e-playwright/README.md +506 -0
- package/src/skills/e2e-playwright/SKILL.md +457 -0
- package/src/skills/e2e-playwright/execute.js +373 -0
- package/src/skills/e2e-playwright/lib/utils.js +514 -0
- package/src/skills/e2e-playwright/package.json +33 -0
- package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +54 -0
- package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +64 -0
- package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +74 -0
- package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +98 -0
- package/src/skills/figma-designer/SKILL.md +149 -0
- package/src/skills/figma-implementer/SKILL.md +148 -0
- package/src/skills/figma-mcp-connector/SKILL.md +136 -0
- package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +22 -0
- package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +21 -0
- package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +18 -0
- package/src/skills/figma-to-code/SKILL.md +128 -0
- package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +29 -0
- package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +27 -0
- package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +28 -0
- package/src/skills/frontend/SKILL.md +177 -0
- package/src/skills/github-sync/SKILL.md +252 -0
- package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/hetzner-provisioner/README.md +308 -0
- package/src/skills/hetzner-provisioner/SKILL.md +251 -0
- package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +71 -0
- package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +85 -0
- package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +126 -0
- package/src/skills/hetzner-provisioner/test-results/README.md +259 -0
- package/src/skills/increment-planner/SKILL.md +889 -0
- package/src/skills/increment-planner/scripts/feature-utils.js +250 -0
- package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +27 -0
- package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +30 -0
- package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +24 -0
- package/src/skills/increment-quality-judge/SKILL.md +566 -0
- package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +95 -0
- package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +108 -0
- package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +87 -0
- package/src/skills/jira-sync/README.md +328 -0
- package/src/skills/jira-sync/SKILL.md +209 -0
- package/src/skills/jira-sync/test-cases/test-1.yaml +9 -0
- package/src/skills/jira-sync/test-cases/test-2.yaml +9 -0
- package/src/skills/jira-sync/test-cases/test-3.yaml +10 -0
- package/src/skills/nextjs/SKILL.md +176 -0
- package/src/skills/nodejs-backend/SKILL.md +181 -0
- package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/python-backend/SKILL.md +226 -0
- package/src/skills/role-orchestrator/README.md +197 -0
- package/src/skills/role-orchestrator/SKILL.md +1184 -0
- package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +98 -0
- package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +73 -0
- package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +121 -0
- package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +145 -0
- package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +149 -0
- package/src/skills/skill-creator/LICENSE.txt +202 -0
- package/src/skills/skill-creator/SKILL.md +209 -0
- package/src/skills/skill-creator/scripts/init_skill.py +303 -0
- package/src/skills/skill-creator/scripts/package_skill.py +110 -0
- package/src/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/skill-router/SKILL.md +497 -0
- package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +33 -0
- package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +42 -0
- package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +50 -0
- package/src/skills/spec-driven-brainstorming/README.md +264 -0
- package/src/skills/spec-driven-brainstorming/SKILL.md +439 -0
- package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +148 -0
- package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +190 -0
- package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +233 -0
- package/src/skills/spec-driven-debugging/README.md +479 -0
- package/src/skills/spec-driven-debugging/SKILL.md +652 -0
- package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +212 -0
- package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +461 -0
- package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +366 -0
- package/src/skills/spec-kit-expert/SKILL.md +1012 -0
- package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/specweave-ado-mapper/SKILL.md +501 -0
- package/src/skills/specweave-detector/SKILL.md +420 -0
- package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +37 -0
- package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +37 -0
- package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +34 -0
- package/src/skills/specweave-jira-mapper/SKILL.md +500 -0
- package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/task-builder/README.md +90 -0
- package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +12 -0
- package/src/templates/.env.example +144 -0
- package/src/templates/.gitignore.template +81 -0
- package/src/templates/CLAUDE.md.template +383 -0
- package/src/templates/README.md.template +240 -0
- package/src/templates/config.yaml +333 -0
- package/src/templates/docs/README.md +124 -0
- package/src/templates/docs/adr-template.md +118 -0
- package/src/templates/docs/hld-template.md +220 -0
- package/src/templates/docs/lld-template.md +580 -0
- package/src/templates/docs/prd-template.md +132 -0
- package/src/templates/docs/rfc-template.md +229 -0
- package/src/templates/docs/runbook-template.md +298 -0
- package/src/templates/environments/minimal/.env.production +16 -0
- package/src/templates/environments/minimal/README.md +54 -0
- package/src/templates/environments/minimal/deploy-production.yml +52 -0
- package/src/templates/environments/progressive/.env.qa +28 -0
- package/src/templates/environments/progressive/README.md +129 -0
- package/src/templates/environments/progressive/deploy-production.yml +93 -0
- package/src/templates/environments/progressive/deploy-qa.yml +62 -0
- package/src/templates/environments/progressive/deploy-staging.yml +67 -0
- package/src/templates/environments/standard/.env.development +20 -0
- package/src/templates/environments/standard/.env.production +30 -0
- package/src/templates/environments/standard/.env.staging +23 -0
- package/src/templates/environments/standard/README.md +97 -0
- package/src/templates/environments/standard/deploy-production.yml +68 -0
- package/src/templates/environments/standard/deploy-staging.yml +61 -0
- package/src/templates/environments/standard/docker-compose.yml +43 -0
- package/src/templates/increment-metadata-template.yaml +138 -0
|
@@ -0,0 +1,376 @@
|
|
|
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.**
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# GitHub Copilot Adapter
|
|
2
|
+
|
|
3
|
+
**Automation Level**: Basic (Code suggestions with workspace context)
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The GitHub Copilot adapter provides **basic automation** for SpecWeave by configuring workspace instructions that Copilot reads to provide better code suggestions.
|
|
8
|
+
|
|
9
|
+
## Key Limitation: No Custom Commands
|
|
10
|
+
|
|
11
|
+
Unlike Claude Code (native skills/agents/commands) and Cursor (simulated via .cursorrules), GitHub Copilot does NOT support:
|
|
12
|
+
- Custom slash commands
|
|
13
|
+
- Workflow automation
|
|
14
|
+
- Role-based assistance
|
|
15
|
+
- Auto-activation
|
|
16
|
+
|
|
17
|
+
**What it DOES support**:
|
|
18
|
+
- Workspace instructions (.github/copilot/instructions.md)
|
|
19
|
+
- Better code suggestions based on project context
|
|
20
|
+
- Copilot Chat for Q&A
|
|
21
|
+
|
|
22
|
+
## What This Adapter Provides
|
|
23
|
+
|
|
24
|
+
### .github/copilot/instructions.md
|
|
25
|
+
- **What**: Workspace guidance that Copilot reads automatically
|
|
26
|
+
- **Contains**: Project structure, workflows, best practices
|
|
27
|
+
- **Benefit**: Copilot suggests code following SpecWeave patterns
|
|
28
|
+
|
|
29
|
+
**Example**:
|
|
30
|
+
```markdown
|
|
31
|
+
# In instructions.md:
|
|
32
|
+
## Workflow: Creating Features
|
|
33
|
+
|
|
34
|
+
1. Create increment folder: .specweave/increments/####-feature-name/
|
|
35
|
+
2. Create spec.md (WHAT & WHY - technology-agnostic)
|
|
36
|
+
3. Create plan.md (HOW - technology-specific)
|
|
37
|
+
4. Create tasks.md (implementation checklist)
|
|
38
|
+
5. Create context-manifest.yaml (context loading - 70%+ token savings)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
When you start typing in spec.md, Copilot suggests content following this structure!
|
|
42
|
+
|
|
43
|
+
## Installation
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Install SpecWeave with Copilot adapter
|
|
47
|
+
npx specweave init my-project --adapter copilot
|
|
48
|
+
|
|
49
|
+
# Files created:
|
|
50
|
+
# .github/copilot/instructions.md (workspace instructions)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Directory Structure
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
.github/copilot/
|
|
57
|
+
├── instructions.md # Workspace instructions (Copilot reads this)
|
|
58
|
+
└── README.md # This file
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Usage Examples
|
|
62
|
+
|
|
63
|
+
### Example 1: Creating spec.md
|
|
64
|
+
|
|
65
|
+
**You**:
|
|
66
|
+
1. Create file: `.specweave/increments/0001-auth/spec.md`
|
|
67
|
+
2. Start typing YAML frontmatter: `---`
|
|
68
|
+
|
|
69
|
+
**Copilot** (based on instructions.md):
|
|
70
|
+
```markdown
|
|
71
|
+
---
|
|
72
|
+
increment: 0001-auth
|
|
73
|
+
title: "User Authentication"
|
|
74
|
+
priority: P1
|
|
75
|
+
status: planned
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
# Increment 0001: User Authentication
|
|
79
|
+
|
|
80
|
+
## Overview
|
|
81
|
+
...
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Copilot suggests the complete structure!
|
|
85
|
+
|
|
86
|
+
### Example 2: Copilot Chat Q&A
|
|
87
|
+
|
|
88
|
+
**You**: "How do I create a plan.md following SpecWeave?"
|
|
89
|
+
|
|
90
|
+
**Copilot** (reads instructions.md):
|
|
91
|
+
```
|
|
92
|
+
Based on SpecWeave guidelines, plan.md should contain:
|
|
93
|
+
|
|
94
|
+
1. Architecture section (components, data model, APIs)
|
|
95
|
+
2. Technology-specific details (unlike spec.md which is tech-agnostic)
|
|
96
|
+
3. References to ADRs (Architecture Decision Records)
|
|
97
|
+
4. Implementation strategy
|
|
98
|
+
|
|
99
|
+
Example structure:
|
|
100
|
+
...
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Example 3: Context Manifest
|
|
104
|
+
|
|
105
|
+
**You**: Start typing in `context-manifest.yaml`
|
|
106
|
+
|
|
107
|
+
**Copilot** (based on patterns in instructions.md):
|
|
108
|
+
```yaml
|
|
109
|
+
---
|
|
110
|
+
spec_sections:
|
|
111
|
+
- .specweave/docs/internal/strategy/auth/spec.md
|
|
112
|
+
documentation:
|
|
113
|
+
- .specweave/docs/internal/architecture/auth/design.md
|
|
114
|
+
max_context_tokens: 10000
|
|
115
|
+
---
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Comparison with Other Adapters
|
|
119
|
+
|
|
120
|
+
| Feature | Claude Code | Cursor | Copilot | Generic |
|
|
121
|
+
|---------|-------------|--------|---------|---------|
|
|
122
|
+
| **Automation** | Full | Semi | Basic | Manual |
|
|
123
|
+
| **Skills** | Native | Simulated | N/A | N/A |
|
|
124
|
+
| **Agents** | Native | Manual roles | N/A | N/A |
|
|
125
|
+
| **Commands** | Slash commands | Workflow instructions | N/A | Step-by-step guide |
|
|
126
|
+
| **Context Shortcuts** | Native | @ shortcuts | N/A | Manual copy-paste |
|
|
127
|
+
| **Code Suggestions** | ✅ | ✅ | ✅ | ❌ |
|
|
128
|
+
| **Workflow Automation** | ✅ | ⚙️ | ❌ | ❌ |
|
|
129
|
+
|
|
130
|
+
**Copilot = Basic but useful** (better than nothing!)
|
|
131
|
+
|
|
132
|
+
## Limitations
|
|
133
|
+
|
|
134
|
+
❌ **No workflow automation** - Must create folders/files manually
|
|
135
|
+
❌ **No skills/agents** - Can't simulate roles like Cursor
|
|
136
|
+
❌ **No commands** - No slash commands or @ shortcuts
|
|
137
|
+
❌ **No hooks** - Can't auto-update docs
|
|
138
|
+
⚠️ **Completely manual workflow** - Just better code suggestions
|
|
139
|
+
|
|
140
|
+
✅ **But still helpful for**:
|
|
141
|
+
- Code completion following SpecWeave patterns
|
|
142
|
+
- Suggesting file structures
|
|
143
|
+
- Copilot Chat Q&A about project
|
|
144
|
+
|
|
145
|
+
## When to Use This Adapter
|
|
146
|
+
|
|
147
|
+
✅ **Use Copilot adapter if**:
|
|
148
|
+
- You already use VS Code + GitHub Copilot
|
|
149
|
+
- You want better code suggestions
|
|
150
|
+
- You don't mind manual workflows
|
|
151
|
+
- Simple projects
|
|
152
|
+
|
|
153
|
+
⚠️ **Consider alternatives if**:
|
|
154
|
+
- You want automation → Use Claude Code (full) or Cursor (semi)
|
|
155
|
+
- You need skills/agents → Use Claude Code
|
|
156
|
+
- You want role-based assistance → Use Claude Code or Cursor
|
|
157
|
+
|
|
158
|
+
## How Copilot Uses Workspace Instructions
|
|
159
|
+
|
|
160
|
+
**Automatic (no action needed)**:
|
|
161
|
+
1. You open project in VS Code with Copilot
|
|
162
|
+
2. Copilot reads `.github/copilot/instructions.md` automatically
|
|
163
|
+
3. Copilot understands:
|
|
164
|
+
- SpecWeave structure (.specweave/ folders)
|
|
165
|
+
- File naming (spec.md, plan.md, tasks.md)
|
|
166
|
+
- Patterns (context manifests, test IDs)
|
|
167
|
+
- Best practices (tech-agnostic specs, etc.)
|
|
168
|
+
|
|
169
|
+
**Result**: Better code suggestions that fit SpecWeave!
|
|
170
|
+
|
|
171
|
+
**Example**:
|
|
172
|
+
- Type `# Increment` → Copilot suggests increment structure
|
|
173
|
+
- Type `TC-0001` → Copilot suggests test case format
|
|
174
|
+
- Type `context-manifest.yaml` → Copilot suggests manifest structure
|
|
175
|
+
|
|
176
|
+
## Tips & Tricks
|
|
177
|
+
|
|
178
|
+
### 1. Reference instructions.md
|
|
179
|
+
If Copilot suggests wrong patterns: "Follow .github/copilot/instructions.md"
|
|
180
|
+
|
|
181
|
+
### 2. Use Copilot Chat
|
|
182
|
+
Ask: "How does SpecWeave work?" → Copilot explains from instructions
|
|
183
|
+
|
|
184
|
+
### 3. Start Typing, Let Copilot Complete
|
|
185
|
+
Begin with YAML frontmatter or headers → Copilot fills in rest
|
|
186
|
+
|
|
187
|
+
### 4. Check Context Manifests
|
|
188
|
+
Open context-manifest.yaml → Copilot sees relevant files
|
|
189
|
+
|
|
190
|
+
## Related Documentation
|
|
191
|
+
|
|
192
|
+
- [SPECWEAVE.md](../../SPECWEAVE.md) - Complete development guide
|
|
193
|
+
- [.github/copilot/instructions.md](.github/copilot/instructions.md) - Workspace instructions
|
|
194
|
+
- [Adapter Architecture](../README.md) - Multi-tool design philosophy
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
**Status**: Active (v0.2.0-beta.1+)
|
|
199
|
+
**Market Share**: ~40% (GitHub Copilot users)
|
|
200
|
+
**Priority**: P1 (large market, even with basic automation)
|