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,240 @@
|
|
|
1
|
+
# {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
> Created with [SpecWeave](https://github.com/specweave/specweave) - Spec-Driven Development Framework
|
|
4
|
+
|
|
5
|
+
## What is this?
|
|
6
|
+
|
|
7
|
+
This project uses SpecWeave for autonomous development:
|
|
8
|
+
- **Framework-agnostic**: Works with ANY tech stack (TypeScript, Python, Go, Rust, Java, etc.)
|
|
9
|
+
- **Intent-driven**: Describe what you want, SpecWeave builds it using YOUR stack
|
|
10
|
+
- **Documentation-first**: Comprehensive docs generated before code
|
|
11
|
+
- **Role-based agents**: PM, Architect, QA, DevOps agents work together
|
|
12
|
+
- **Autonomous implementation**: Full features built with minimal intervention
|
|
13
|
+
- **Cost-optimized**: Deploys to most cost-effective platform (Hetzner, AWS, Vercel, etc.)
|
|
14
|
+
|
|
15
|
+
## Getting Started
|
|
16
|
+
|
|
17
|
+
### 1. Describe What You Want to Build
|
|
18
|
+
|
|
19
|
+
Simply describe your product vision (framework-agnostic):
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
"Create an event booking SaaS for barbers and sports facilities"
|
|
23
|
+
"Build a task management API with real-time collaboration"
|
|
24
|
+
"Create an e-commerce platform with payment processing"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 2. SpecWeave Will:
|
|
28
|
+
|
|
29
|
+
1. **Detect or ask for your tech stack**:
|
|
30
|
+
- Language: TypeScript, Python, Go, Rust, Java, etc.
|
|
31
|
+
- Framework: NextJS, Django, FastAPI, Spring Boot, Gin, etc.
|
|
32
|
+
- Database: PostgreSQL, MySQL, MongoDB, SQLite, etc.
|
|
33
|
+
- Platform: Hetzner ($12/mo), AWS ($25/mo), Vercel ($20/mo), etc.
|
|
34
|
+
|
|
35
|
+
2. **Ask clarifying questions**:
|
|
36
|
+
- Payment processing needed?
|
|
37
|
+
- Expected users?
|
|
38
|
+
- Budget for hosting?
|
|
39
|
+
|
|
40
|
+
3. **Create strategic analysis** (using YOUR detected stack):
|
|
41
|
+
- PM agent → Product strategy & user personas
|
|
42
|
+
- Architect agent → System design & ADRs (framework-specific)
|
|
43
|
+
- DevOps agent → Infrastructure plan (platform-specific)
|
|
44
|
+
- Security agent → Auth & data protection (framework-specific)
|
|
45
|
+
- QA agent → Test strategy (framework-specific tests)
|
|
46
|
+
|
|
47
|
+
4. **Generate comprehensive documentation**:
|
|
48
|
+
- Product documentation in `.specweave/docs/`
|
|
49
|
+
- Architecture diagrams & decisions (using YOUR stack)
|
|
50
|
+
- All files contain WHAT + WHY + HOW
|
|
51
|
+
|
|
52
|
+
5. **Create implementation tasks**:
|
|
53
|
+
- Detailed tasks with agent references (using YOUR stack)
|
|
54
|
+
- File paths and code snippets (in YOUR language)
|
|
55
|
+
- Acceptance criteria (framework-specific)
|
|
56
|
+
|
|
57
|
+
6. **Build autonomously**:
|
|
58
|
+
- Implements all features using YOUR detected tech stack
|
|
59
|
+
- Asks for approval when needed
|
|
60
|
+
- Suggests doc updates during implementation
|
|
61
|
+
|
|
62
|
+
### 3. Review & Approve
|
|
63
|
+
|
|
64
|
+
Before implementation starts:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
/review-docs
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
This shows:
|
|
71
|
+
- Product strategy
|
|
72
|
+
- System architecture
|
|
73
|
+
- Infrastructure plan & costs
|
|
74
|
+
- Security approach
|
|
75
|
+
- Test strategy
|
|
76
|
+
|
|
77
|
+
### 4. Deploy
|
|
78
|
+
|
|
79
|
+
SpecWeave deploys to the most cost-effective platform for YOUR needs:
|
|
80
|
+
- **Hetzner Cloud**: $11-27/month (best for cost-sensitive projects)
|
|
81
|
+
- **Vercel**: $20/month (best for global edge, NextJS apps)
|
|
82
|
+
- **AWS**: $25-100+/month (best for enterprise, specific services)
|
|
83
|
+
- **Self-hosted**: Variable (best for full control)
|
|
84
|
+
|
|
85
|
+
## Project Structure
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
{{PROJECT_NAME}}/
|
|
89
|
+
├── .specweave/
|
|
90
|
+
│ ├── increments/ # Product increments (user stories, tasks)
|
|
91
|
+
│ ├── docs/ # Generated documentation
|
|
92
|
+
│ ├── tests/ # SpecWeave-generated tests
|
|
93
|
+
│ └── config.yaml # Configuration
|
|
94
|
+
├── src/
|
|
95
|
+
│ ├── skills/ # AI agent skills (17+ installed)
|
|
96
|
+
│ └── hooks/ # Automation hooks
|
|
97
|
+
├── .claude/
|
|
98
|
+
│ ├── hooks/ # Claude Code hooks
|
|
99
|
+
│ ├── commands/ # Manual commands
|
|
100
|
+
│ └── skills/ # Installed skills
|
|
101
|
+
└── CLAUDE.md # Instructions for Claude
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Commands
|
|
105
|
+
|
|
106
|
+
### Claude Code Commands
|
|
107
|
+
|
|
108
|
+
Use these in Claude Code CLI:
|
|
109
|
+
|
|
110
|
+
- `/create-increment "Feature name"` - Create new increment
|
|
111
|
+
- `/review-docs` - Review strategic documentation
|
|
112
|
+
- `/sync-github` - Sync to GitHub issues
|
|
113
|
+
|
|
114
|
+
### Terminal Commands
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Create new increment
|
|
118
|
+
npx specweave increment create "Add payment processing"
|
|
119
|
+
|
|
120
|
+
# Install a skill
|
|
121
|
+
npx specweave install hetzner-provisioner
|
|
122
|
+
|
|
123
|
+
# Install hooks
|
|
124
|
+
npx specweave install-hooks
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Examples
|
|
128
|
+
|
|
129
|
+
### Example 1: Event Booking SaaS (TypeScript/NextJS)
|
|
130
|
+
|
|
131
|
+
**Input**:
|
|
132
|
+
```
|
|
133
|
+
"Create event booking SaaS for barbers and sports facilities"
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Detected stack**: TypeScript, NextJS, PostgreSQL, Hetzner
|
|
137
|
+
|
|
138
|
+
**Output**:
|
|
139
|
+
- NextJS 14 app with App Router
|
|
140
|
+
- Postgres database with Prisma
|
|
141
|
+
- Calendar/booking system
|
|
142
|
+
- Stripe payments
|
|
143
|
+
- Email/SMS notifications
|
|
144
|
+
- Deployed on Hetzner for $12/month
|
|
145
|
+
- Complete documentation
|
|
146
|
+
|
|
147
|
+
**Time**: Autonomous (with periodic approvals)
|
|
148
|
+
|
|
149
|
+
### Example 2: Task Management API (Python/FastAPI)
|
|
150
|
+
|
|
151
|
+
**Input**:
|
|
152
|
+
```
|
|
153
|
+
"Build a task management API with real-time collaboration"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Detected stack**: Python, FastAPI, PostgreSQL, AWS
|
|
157
|
+
|
|
158
|
+
**Output**:
|
|
159
|
+
- FastAPI backend with WebSocket support
|
|
160
|
+
- PostgreSQL with SQLAlchemy
|
|
161
|
+
- Real-time task updates
|
|
162
|
+
- User authentication (JWT)
|
|
163
|
+
- Deployed on AWS for $27/month
|
|
164
|
+
- Complete documentation
|
|
165
|
+
|
|
166
|
+
**Time**: Autonomous (with periodic approvals)
|
|
167
|
+
|
|
168
|
+
### Example 3: E-commerce Platform (Go/Gin)
|
|
169
|
+
|
|
170
|
+
**Input**:
|
|
171
|
+
```
|
|
172
|
+
"Create an e-commerce platform with payment processing"
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Detected stack**: Go, Gin, PostgreSQL, Hetzner
|
|
176
|
+
|
|
177
|
+
**Output**:
|
|
178
|
+
- Gin API with microservices architecture
|
|
179
|
+
- PostgreSQL with GORM
|
|
180
|
+
- Product catalog, cart, checkout
|
|
181
|
+
- Stripe integration
|
|
182
|
+
- Deployed on Hetzner for $18/month
|
|
183
|
+
- Complete documentation
|
|
184
|
+
|
|
185
|
+
**Time**: Autonomous (with periodic approvals)
|
|
186
|
+
|
|
187
|
+
## Available Skills
|
|
188
|
+
|
|
189
|
+
### Infrastructure
|
|
190
|
+
- `hetzner-provisioner` - Deploy to Hetzner Cloud ($10-15/mo)
|
|
191
|
+
- `cost-optimizer` - Compare platforms & recommend cheapest
|
|
192
|
+
|
|
193
|
+
### Frontend
|
|
194
|
+
- `nextjs-agent` - NextJS 14 with App Router, TypeScript
|
|
195
|
+
- `tailwind-designer` - Tailwind CSS styling
|
|
196
|
+
|
|
197
|
+
### Backend
|
|
198
|
+
- `nodejs-backend` - Node.js implementation
|
|
199
|
+
- `python-backend` - Python implementation
|
|
200
|
+
- `prisma-schema-builder` - Database schema with Prisma
|
|
201
|
+
|
|
202
|
+
### Domain-Specific
|
|
203
|
+
- `stripe-integrator` - Payment processing
|
|
204
|
+
- `calendar-system` - Booking/scheduling
|
|
205
|
+
- `notification-system` - Email & SMS
|
|
206
|
+
- `auth-implementer` - Authentication (NextAuth, Clerk)
|
|
207
|
+
|
|
208
|
+
### Strategic
|
|
209
|
+
- `pm-agent` - Product strategy
|
|
210
|
+
- `architect-agent` - System design
|
|
211
|
+
- `qa-lead-agent` - Test strategy
|
|
212
|
+
- `devops-agent` - Infrastructure planning
|
|
213
|
+
- `security-agent` - Security review
|
|
214
|
+
|
|
215
|
+
See `src/skills/` for complete list.
|
|
216
|
+
|
|
217
|
+
## Configuration
|
|
218
|
+
|
|
219
|
+
Edit `.specweave/config.yaml`:
|
|
220
|
+
|
|
221
|
+
```yaml
|
|
222
|
+
cost:
|
|
223
|
+
max_monthly_budget: 100 # USD
|
|
224
|
+
preferred_platform: hetzner
|
|
225
|
+
|
|
226
|
+
testing:
|
|
227
|
+
e2e_required: true
|
|
228
|
+
coverage_target: 80
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Learn More
|
|
232
|
+
|
|
233
|
+
- [SpecWeave Documentation](https://github.com/specweave/specweave)
|
|
234
|
+
- [Example Projects](https://github.com/specweave/examples)
|
|
235
|
+
- [Community](https://github.com/specweave/specweave/discussions)
|
|
236
|
+
|
|
237
|
+
## License
|
|
238
|
+
|
|
239
|
+
This project: [Your License]
|
|
240
|
+
SpecWeave: MIT License
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
---
|
|
2
|
+
# SpecWeave Configuration
|
|
3
|
+
project:
|
|
4
|
+
name: {{PROJECT_NAME}}
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
created: {{DATE}}
|
|
7
|
+
|
|
8
|
+
# Tech Stack (CRITICAL - detected or specified)
|
|
9
|
+
tech_stack:
|
|
10
|
+
# For single-stack projects (most common)
|
|
11
|
+
detected_from: "auto" # auto-detect from project files, or specify source
|
|
12
|
+
language: "{{DETECTED_LANGUAGE}}" # e.g., typescript, python, go, rust, java, csharp
|
|
13
|
+
framework: "{{DETECTED_FRAMEWORK}}" # e.g., nextjs, django, fastapi, spring-boot, gin
|
|
14
|
+
database: "{{SPECIFIED_DATABASE}}" # e.g., postgresql, mysql, mongodb, sqlite
|
|
15
|
+
orm: "{{DETECTED_ORM}}" # e.g., prisma, django-orm, sqlalchemy, hibernate, gorm
|
|
16
|
+
ui_library: "{{SPECIFIED_UI}}" # e.g., tailwind, material-ui, bootstrap (optional)
|
|
17
|
+
|
|
18
|
+
# Auto-detection rules (SpecWeave uses these to detect stack)
|
|
19
|
+
detection:
|
|
20
|
+
enabled: true
|
|
21
|
+
sources:
|
|
22
|
+
- .specweave/config.yaml # This file (highest priority)
|
|
23
|
+
- package.json # TypeScript/JavaScript
|
|
24
|
+
- requirements.txt # Python
|
|
25
|
+
- pyproject.toml # Python (Poetry, etc.)
|
|
26
|
+
- go.mod # Go
|
|
27
|
+
- Cargo.toml # Rust
|
|
28
|
+
- pom.xml # Java (Maven)
|
|
29
|
+
- build.gradle # Java (Gradle)
|
|
30
|
+
- "*.csproj" # C#/.NET
|
|
31
|
+
|
|
32
|
+
# Monorepo Configuration (OPTIONAL - only for multi-service projects)
|
|
33
|
+
monorepo:
|
|
34
|
+
enabled: false # Set to true for monorepo projects with multiple services
|
|
35
|
+
|
|
36
|
+
# Define each service with its own tech stack
|
|
37
|
+
services:
|
|
38
|
+
# Example: Frontend service
|
|
39
|
+
# client:
|
|
40
|
+
# path: client/ # Service directory
|
|
41
|
+
# language: typescript
|
|
42
|
+
# framework: nextjs
|
|
43
|
+
# ui_library: tailwind
|
|
44
|
+
# platform: vercel
|
|
45
|
+
|
|
46
|
+
# Example: Backend service
|
|
47
|
+
# server:
|
|
48
|
+
# path: server/
|
|
49
|
+
# language: python
|
|
50
|
+
# framework: fastapi
|
|
51
|
+
# database: postgresql
|
|
52
|
+
# orm: sqlalchemy
|
|
53
|
+
# platform: hetzner
|
|
54
|
+
|
|
55
|
+
# Example: ML/Analytics service
|
|
56
|
+
# ml:
|
|
57
|
+
# path: ml/
|
|
58
|
+
# language: python
|
|
59
|
+
# framework: tensorflow
|
|
60
|
+
# database: mongodb
|
|
61
|
+
# platform: aws-sagemaker
|
|
62
|
+
|
|
63
|
+
# Example: Mobile service
|
|
64
|
+
# mobile:
|
|
65
|
+
# path: mobile/
|
|
66
|
+
# language: typescript
|
|
67
|
+
# framework: react-native
|
|
68
|
+
# platform: expo
|
|
69
|
+
|
|
70
|
+
# Service-aware routing (agents adapt based on file path)
|
|
71
|
+
service_routing:
|
|
72
|
+
enabled: true # Agents automatically detect which service they're working on
|
|
73
|
+
default_service: null # Default service if path doesn't match any (optional)
|
|
74
|
+
|
|
75
|
+
# Platform Configuration
|
|
76
|
+
platform:
|
|
77
|
+
provider: "auto" # auto (cost-optimizer recommends), hetzner, aws, vercel, self-hosted
|
|
78
|
+
region: "auto" # auto, eu-central, us-east, ap-southeast, etc.
|
|
79
|
+
|
|
80
|
+
# Cost optimization (used by cost-optimizer skill)
|
|
81
|
+
cost:
|
|
82
|
+
max_monthly_budget: 100 # USD
|
|
83
|
+
alert_threshold: 80 # Alert at 80% of budget
|
|
84
|
+
alerts_enabled: true
|
|
85
|
+
|
|
86
|
+
# Hooks configuration
|
|
87
|
+
hooks:
|
|
88
|
+
enabled: true
|
|
89
|
+
sounds:
|
|
90
|
+
enabled: true
|
|
91
|
+
completion: /System/Library/Sounds/Glass.aiff
|
|
92
|
+
input_required: /System/Library/Sounds/Ping.aiff
|
|
93
|
+
|
|
94
|
+
post_task_completion:
|
|
95
|
+
enabled: true
|
|
96
|
+
actions:
|
|
97
|
+
- update_documentation
|
|
98
|
+
- update_claude_md
|
|
99
|
+
- update_changelog
|
|
100
|
+
|
|
101
|
+
# Documentation structure (5-pillar)
|
|
102
|
+
docs:
|
|
103
|
+
structure: features # or "modules" - adapts to your project
|
|
104
|
+
auto_update: true
|
|
105
|
+
approach: incremental # or "comprehensive" for enterprise/production
|
|
106
|
+
|
|
107
|
+
# 5-pillar structure
|
|
108
|
+
internal:
|
|
109
|
+
strategy_enabled: true # .specweave/docs/internal/strategy/
|
|
110
|
+
architecture_enabled: true # .specweave/docs/internal/architecture/
|
|
111
|
+
delivery_enabled: true # .specweave/docs/internal/delivery/
|
|
112
|
+
operations_enabled: false # .specweave/docs/internal/operations/ (optional)
|
|
113
|
+
governance_enabled: false # .specweave/docs/internal/governance/ (optional)
|
|
114
|
+
|
|
115
|
+
public:
|
|
116
|
+
enabled: true # .specweave/docs/public/
|
|
117
|
+
auto_publish: false # Auto-publish to docs site
|
|
118
|
+
|
|
119
|
+
# Role-based agents (framework-agnostic)
|
|
120
|
+
agents:
|
|
121
|
+
models:
|
|
122
|
+
# All agents use Claude Sonnet 4.5 (best for coding and complex agents)
|
|
123
|
+
pm: claude-sonnet-4-5-20250929
|
|
124
|
+
architect: claude-sonnet-4-5-20250929
|
|
125
|
+
security: claude-sonnet-4-5-20250929
|
|
126
|
+
qa_lead: claude-sonnet-4-5-20250929
|
|
127
|
+
devops: claude-sonnet-4-5-20250929
|
|
128
|
+
tech_lead: claude-sonnet-4-5-20250929
|
|
129
|
+
sre: claude-sonnet-4-5-20250929
|
|
130
|
+
|
|
131
|
+
# Implementation agents (use framework-specific agents based on detected stack)
|
|
132
|
+
backend: claude-sonnet-4-5-20250929 # nodejs-backend, python-backend, dotnet-backend, etc.
|
|
133
|
+
frontend: claude-sonnet-4-5-20250929 # frontend, nextjs, etc.
|
|
134
|
+
|
|
135
|
+
# Agents receive detected tech stack automatically
|
|
136
|
+
pass_tech_stack: true
|
|
137
|
+
|
|
138
|
+
# Role orchestrator configuration
|
|
139
|
+
role_orchestrator:
|
|
140
|
+
enabled: true
|
|
141
|
+
|
|
142
|
+
# Orchestration strategy
|
|
143
|
+
default_pattern: sequential_with_gates # or "parallel" or "adaptive"
|
|
144
|
+
|
|
145
|
+
# Quality gates
|
|
146
|
+
require_user_approval:
|
|
147
|
+
- architecture_decisions
|
|
148
|
+
- deployment_to_production
|
|
149
|
+
|
|
150
|
+
require_automated_approval:
|
|
151
|
+
- test_coverage: ">80%"
|
|
152
|
+
- security_scan: "no_critical"
|
|
153
|
+
|
|
154
|
+
# Feedback loop configuration (auto-refinement)
|
|
155
|
+
feedback_loops:
|
|
156
|
+
enabled: true # Enable auto-refinement
|
|
157
|
+
max_retries: 3 # Max refinement attempts per agent
|
|
158
|
+
stop_on_improvement: true # Stop if score improves significantly
|
|
159
|
+
require_user_approval: false # Auto-refine without asking
|
|
160
|
+
|
|
161
|
+
# Quality thresholds per agent
|
|
162
|
+
thresholds:
|
|
163
|
+
pm_agent: 0.80 # Requirements quality
|
|
164
|
+
architect_agent: 0.80 # Design quality
|
|
165
|
+
qa_lead_agent: 0.75 # Test coverage + quality
|
|
166
|
+
|
|
167
|
+
# Which agents use feedback loops
|
|
168
|
+
agents:
|
|
169
|
+
- pm_agent
|
|
170
|
+
- architect_agent
|
|
171
|
+
- qa_lead_agent
|
|
172
|
+
# Not applicable for implementation agents (code is validated by tests)
|
|
173
|
+
|
|
174
|
+
# Validation strategy
|
|
175
|
+
validation:
|
|
176
|
+
use_llm_judge: true # Use increment-quality-judge
|
|
177
|
+
combine_with_rules: true # Combine with rule-based checks
|
|
178
|
+
judge_weight: 0.5 # 50% LLM judge, 50% rules
|
|
179
|
+
|
|
180
|
+
# Agent preferences (for tech stack selection)
|
|
181
|
+
preferred_backend: nodejs-backend # or python-backend, dotnet-backend
|
|
182
|
+
preferred_frontend: frontend # or nextjs
|
|
183
|
+
|
|
184
|
+
# Timeouts
|
|
185
|
+
phase_timeout_minutes: 30
|
|
186
|
+
total_timeout_hours: 8
|
|
187
|
+
|
|
188
|
+
# Monitoring
|
|
189
|
+
progress_updates_interval: 5min
|
|
190
|
+
store_metrics: true
|
|
191
|
+
|
|
192
|
+
# Testing (framework-agnostic)
|
|
193
|
+
testing:
|
|
194
|
+
e2e_required: true # Mandatory E2E tests when UI exists
|
|
195
|
+
coverage_target: 80 # Target coverage percentage
|
|
196
|
+
baseline_required: false # For brownfield projects
|
|
197
|
+
|
|
198
|
+
# Framework-specific test frameworks (auto-detected)
|
|
199
|
+
frameworks:
|
|
200
|
+
typescript: ["playwright", "jest"] # E2E + unit
|
|
201
|
+
python: ["pytest", "django-tests"] # E2E + unit
|
|
202
|
+
go: ["go test", "testify"] # Unit + assertions
|
|
203
|
+
java: ["junit", "spring-boot-test"] # Unit + integration
|
|
204
|
+
rust: ["cargo test"] # Unit
|
|
205
|
+
|
|
206
|
+
# Test levels (4-level strategy)
|
|
207
|
+
levels:
|
|
208
|
+
spec_acceptance: true # Level 1: TC-0001 in specs
|
|
209
|
+
feature_strategy: true # Level 2: Test coverage matrix
|
|
210
|
+
skill_tests: true # Level 3: Skill YAML tests
|
|
211
|
+
code_tests: true # Level 4: Automated tests
|
|
212
|
+
|
|
213
|
+
# Context loading (70%+ token reduction)
|
|
214
|
+
context:
|
|
215
|
+
enabled: true
|
|
216
|
+
max_tokens: 10000 # Max tokens per context load
|
|
217
|
+
auto_refresh: false # Auto-refresh context when specs change
|
|
218
|
+
cache_enabled: true # Cache embeddings for faster loading
|
|
219
|
+
|
|
220
|
+
# Context optimizer (second-pass optimization, 80%+ total reduction)
|
|
221
|
+
context_optimizer:
|
|
222
|
+
enabled: true
|
|
223
|
+
auto_optimize: true # Auto-run after context-loader
|
|
224
|
+
min_context_tokens: 20000 # Only optimize if context > 20k tokens
|
|
225
|
+
min_confidence: 0.75 # Skip if intent analysis confidence < 75%
|
|
226
|
+
show_removals: true # Show what was removed
|
|
227
|
+
buffer_strategy: conservative # conservative or aggressive
|
|
228
|
+
|
|
229
|
+
# Custom domains (project-specific)
|
|
230
|
+
custom_domains: []
|
|
231
|
+
# - "real-time-chat"
|
|
232
|
+
# - "analytics"
|
|
233
|
+
# - "reporting"
|
|
234
|
+
|
|
235
|
+
# Always keep (never remove)
|
|
236
|
+
always_keep:
|
|
237
|
+
- "architecture/README.md"
|
|
238
|
+
- "CLAUDE.md"
|
|
239
|
+
|
|
240
|
+
# Validation configuration
|
|
241
|
+
validation:
|
|
242
|
+
# Rule-based validation (120 rules, always enabled)
|
|
243
|
+
rule_based:
|
|
244
|
+
enabled: true
|
|
245
|
+
rules_count: 120
|
|
246
|
+
|
|
247
|
+
# LLM-as-judge quality assessment (optional, uses ~2k tokens)
|
|
248
|
+
quality_judge:
|
|
249
|
+
enabled: true # Enable feature
|
|
250
|
+
auto_prompt: true # Prompt user after rule-based validation
|
|
251
|
+
always_run: false # Run automatically without prompting
|
|
252
|
+
|
|
253
|
+
# Scoring thresholds
|
|
254
|
+
thresholds:
|
|
255
|
+
excellent: 90 # ✓✓ (90-100)
|
|
256
|
+
good: 80 # ✓ (80-89)
|
|
257
|
+
acceptable: 70 # ~ (70-79)
|
|
258
|
+
needs_work: 0 # ⚠️ (0-69)
|
|
259
|
+
|
|
260
|
+
# Which dimensions to evaluate
|
|
261
|
+
dimensions:
|
|
262
|
+
clarity: true
|
|
263
|
+
testability: true
|
|
264
|
+
completeness: true
|
|
265
|
+
feasibility: true
|
|
266
|
+
maintainability: true
|
|
267
|
+
edge_cases: true
|
|
268
|
+
|
|
269
|
+
# Token budget
|
|
270
|
+
max_tokens: 2000 # Limit for quality check
|
|
271
|
+
|
|
272
|
+
# Auto-export suggestions
|
|
273
|
+
export_to_tasks: true # Add suggestions to tasks.md
|
|
274
|
+
|
|
275
|
+
# Confidence threshold
|
|
276
|
+
min_confidence: 0.80 # Show warning if lower
|
|
277
|
+
|
|
278
|
+
# Integrations (framework-agnostic)
|
|
279
|
+
integrations:
|
|
280
|
+
github:
|
|
281
|
+
enabled: false
|
|
282
|
+
sync_issues: false
|
|
283
|
+
auto_create_pr: false
|
|
284
|
+
|
|
285
|
+
jira:
|
|
286
|
+
enabled: false
|
|
287
|
+
sync_issues: false
|
|
288
|
+
|
|
289
|
+
ado:
|
|
290
|
+
enabled: false
|
|
291
|
+
sync_work_items: false
|
|
292
|
+
|
|
293
|
+
slack:
|
|
294
|
+
enabled: false
|
|
295
|
+
notifications: false
|
|
296
|
+
|
|
297
|
+
# Brownfield settings
|
|
298
|
+
brownfield:
|
|
299
|
+
enabled: false # Set to true if modifying existing codebase
|
|
300
|
+
require_baseline_tests: true # Require tests before modification
|
|
301
|
+
require_documentation: true # Require docs before modification
|
|
302
|
+
auto_analyze: true # Auto-analyze code with brownfield-analyzer
|
|
303
|
+
|
|
304
|
+
# Autonomous mode settings
|
|
305
|
+
autonomous:
|
|
306
|
+
enabled: false # Full autonomous mode
|
|
307
|
+
interruptions: minimal # minimal, moderate, frequent
|
|
308
|
+
batch_questions: true # Batch clarifying questions
|
|
309
|
+
auto_approve_docs: false # Auto-approve strategic docs (risky!)
|
|
310
|
+
|
|
311
|
+
# Skills configuration
|
|
312
|
+
skills:
|
|
313
|
+
enabled: true
|
|
314
|
+
auto_route: true # Auto-route to appropriate skills
|
|
315
|
+
|
|
316
|
+
# Skill priorities
|
|
317
|
+
core:
|
|
318
|
+
- specweave-detector
|
|
319
|
+
- skill-router
|
|
320
|
+
- role-orchestrator
|
|
321
|
+
- context-loader
|
|
322
|
+
- increment-planner
|
|
323
|
+
|
|
324
|
+
infrastructure:
|
|
325
|
+
- hetzner-provisioner # If platform=hetzner
|
|
326
|
+
- cost-optimizer
|
|
327
|
+
|
|
328
|
+
integration:
|
|
329
|
+
- github-sync # If integrations.github.enabled
|
|
330
|
+
- jira-sync # If integrations.jira.enabled
|
|
331
|
+
- ado-sync # If integrations.ado.enabled
|
|
332
|
+
|
|
333
|
+
---
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Document Templates
|
|
2
|
+
|
|
3
|
+
This directory contains templates for all standard document types in the PRD/HLD/RFC/Runbook pattern.
|
|
4
|
+
|
|
5
|
+
## Available Templates
|
|
6
|
+
|
|
7
|
+
### Strategy Documents
|
|
8
|
+
- **`prd-template.md`** - Product Requirements Document
|
|
9
|
+
- **Purpose**: Define the "why" - problem, users, success metrics
|
|
10
|
+
- **Location**: `docs/internal/strategy/prd-{feature}.md`
|
|
11
|
+
- **Usage**: `cp templates/docs/prd-template.md docs/internal/strategy/prd-{feature}.md`
|
|
12
|
+
|
|
13
|
+
### Architecture Documents
|
|
14
|
+
- **`hld-template.md`** - High-Level Design
|
|
15
|
+
- **Purpose**: Define the "what" - system design, components, data model
|
|
16
|
+
- **Location**: `docs/internal/architecture/hld-{system}.md`
|
|
17
|
+
- **Usage**: `cp templates/docs/hld-template.md docs/internal/architecture/hld-{system}.md`
|
|
18
|
+
|
|
19
|
+
- **`adr-template.md`** - Architecture Decision Record
|
|
20
|
+
- **Purpose**: Document architectural decisions with rationale
|
|
21
|
+
- **Location**: `docs/internal/architecture/adr/0001-decision-title.md`
|
|
22
|
+
- **Format**: Sequential numbering (0001, 0002, etc.)
|
|
23
|
+
- **Usage**:
|
|
24
|
+
```bash
|
|
25
|
+
# Find next number
|
|
26
|
+
NEXT=$(printf "%04d" $(($(ls docs/internal/architecture/adr/ | grep -E '^[0-9]{4}' | tail -1 | cut -d'-' -f1) + 1)))
|
|
27
|
+
cp templates/docs/adr-template.md docs/internal/architecture/adr/${NEXT}-decision-title.md
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
- **`rfc-template.md`** - Request for Comments
|
|
31
|
+
- **Purpose**: Propose API designs, schema changes, major features
|
|
32
|
+
- **Location**: `docs/internal/architecture/rfc/0001-feature-title.md`
|
|
33
|
+
- **Format**: Sequential numbering (0001, 0002, etc.)
|
|
34
|
+
- **Usage**:
|
|
35
|
+
```bash
|
|
36
|
+
# Find next number
|
|
37
|
+
NEXT=$(printf "%04d" $(($(ls docs/internal/architecture/rfc/ | grep -E '^[0-9]{4}' | tail -1 | cut -d'-' -f1) + 1)))
|
|
38
|
+
cp templates/docs/rfc-template.md docs/internal/architecture/rfc/${NEXT}-feature-title.md
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Operations Documents
|
|
42
|
+
- **`runbook-template.md`** - Operations Runbook
|
|
43
|
+
- **Purpose**: Step-by-step procedures for running and maintaining services
|
|
44
|
+
- **Location**: `docs/internal/operations/runbook-{service}.md`
|
|
45
|
+
- **Usage**: `cp templates/docs/runbook-template.md docs/internal/operations/runbook-{service}.md`
|
|
46
|
+
|
|
47
|
+
## Quick Start
|
|
48
|
+
|
|
49
|
+
### Creating a New Feature (Complete Workflow)
|
|
50
|
+
|
|
51
|
+
1. **Create PRD** (Strategy):
|
|
52
|
+
```bash
|
|
53
|
+
cp templates/docs/prd-template.md docs/internal/strategy/prd-booking-system.md
|
|
54
|
+
# Fill in: Problem, Users, Success Metrics, Scope
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
2. **Create HLD** (Architecture):
|
|
58
|
+
```bash
|
|
59
|
+
cp templates/docs/hld-template.md docs/internal/architecture/hld-booking-system.md
|
|
60
|
+
# Fill in: Architecture, Data Model, Integrations
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
3. **Create ADR** (if architectural decision needed):
|
|
64
|
+
```bash
|
|
65
|
+
NEXT=$(printf "%04d" $(($(ls docs/internal/architecture/adr/ 2>/dev/null | grep -E '^[0-9]{4}' | tail -1 | cut -d'-' -f1 | sed 's/^0*//' || echo 0) + 1)))
|
|
66
|
+
cp templates/docs/adr-template.md docs/internal/architecture/adr/${NEXT}-use-postgresql.md
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
4. **Create RFC** (for API design):
|
|
70
|
+
```bash
|
|
71
|
+
NEXT=$(printf "%04d" $(($(ls docs/internal/architecture/rfc/ 2>/dev/null | grep -E '^[0-9]{4}' | tail -1 | cut -d'-' -f1 | sed 's/^0*//' || echo 0) + 1)))
|
|
72
|
+
cp templates/docs/rfc-template.md docs/internal/architecture/rfc/${NEXT}-booking-api.md
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
5. **Create Runbook** (Operations):
|
|
76
|
+
```bash
|
|
77
|
+
cp templates/docs/runbook-template.md docs/internal/operations/runbook-booking-service.md
|
|
78
|
+
# Fill in: SLOs, Procedures, Escalation
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Template Usage Guidelines
|
|
82
|
+
|
|
83
|
+
### Fill in ALL Sections
|
|
84
|
+
- Do not leave template placeholders (e.g., `[Feature Name]`, `YYYY-MM-DD`)
|
|
85
|
+
- Replace all `@name`, `@team` with actual names
|
|
86
|
+
- Fill in all checklists
|
|
87
|
+
|
|
88
|
+
### Update Status
|
|
89
|
+
- Start with `status: draft`
|
|
90
|
+
- Move to `status: review` when ready for PR
|
|
91
|
+
- Change to `status: approved` when merged
|
|
92
|
+
- Use `status: deprecated` when superseded
|
|
93
|
+
|
|
94
|
+
### Cross-Link Documents
|
|
95
|
+
- PRD → HLD (link from PRD to HLD)
|
|
96
|
+
- HLD → ADR (link to all relevant ADRs)
|
|
97
|
+
- RFC → HLD (link from RFC to HLD)
|
|
98
|
+
- Runbook → HLD (link from runbook to architecture)
|
|
99
|
+
|
|
100
|
+
### Use Diagrams
|
|
101
|
+
- Use Mermaid for diagrams (supported in Markdown)
|
|
102
|
+
- Export to PNG for presentations if needed
|
|
103
|
+
- Keep diagrams simple and clear
|
|
104
|
+
|
|
105
|
+
### Review and Approval
|
|
106
|
+
- Create PR for all new documents
|
|
107
|
+
- Tag appropriate reviewers (see CODEOWNERS)
|
|
108
|
+
- Address feedback before merging
|
|
109
|
+
- Update status after approval
|
|
110
|
+
|
|
111
|
+
## Customizing Templates
|
|
112
|
+
|
|
113
|
+
You can customize these templates for your project:
|
|
114
|
+
|
|
115
|
+
1. **Add sections** relevant to your domain
|
|
116
|
+
2. **Remove sections** not applicable
|
|
117
|
+
3. **Adjust approval process** to match your workflow
|
|
118
|
+
4. **Update cross-links** to match your structure
|
|
119
|
+
|
|
120
|
+
## Related Documentation
|
|
121
|
+
|
|
122
|
+
- [docs/README.md](../../docs/README.md) - Documentation structure
|
|
123
|
+
- [docs/internal/README.md](../../docs/internal/README.md) - Internal documentation guide
|
|
124
|
+
- [CLAUDE.md](../../CLAUDE.md) - Complete development guide
|