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
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: create-increment
|
|
3
|
-
description: Create a new SpecWeave increment interactively with spec.md and tasks.md
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Create New Increment
|
|
7
|
-
|
|
8
|
-
You are helping the user create a new SpecWeave increment.
|
|
9
|
-
|
|
10
|
-
## Steps:
|
|
11
|
-
|
|
12
|
-
1. **Find next increment number**:
|
|
13
|
-
- Scan `.specweave/increments/` directory
|
|
14
|
-
- Find highest number (e.g., 002)
|
|
15
|
-
- Next increment: 003
|
|
16
|
-
|
|
17
|
-
2. **Detect tech stack** (CRITICAL - framework-agnostic):
|
|
18
|
-
- Check `.specweave/config.yaml` for tech_stack configuration
|
|
19
|
-
- If not found, detect from project files:
|
|
20
|
-
- `package.json` → TypeScript/JavaScript
|
|
21
|
-
- `requirements.txt` or `pyproject.toml` → Python
|
|
22
|
-
- `go.mod` → Go
|
|
23
|
-
- `Cargo.toml` → Rust
|
|
24
|
-
- `pom.xml` or `build.gradle` → Java
|
|
25
|
-
- `*.csproj` → C#/.NET
|
|
26
|
-
- Detect framework (NextJS, Django, FastAPI, Spring Boot, etc.)
|
|
27
|
-
- If detection fails, ask user: "What language/framework are you using?"
|
|
28
|
-
- Store detected tech stack for later use
|
|
29
|
-
|
|
30
|
-
3. **Ask user for details**:
|
|
31
|
-
- "What would you like to build?" (get high-level description)
|
|
32
|
-
- "What's the short name?" (e.g., "user-authentication" for increment 003-user-authentication)
|
|
33
|
-
- "Priority? (P1/P2/P3)" (default: P1)
|
|
34
|
-
|
|
35
|
-
4. **Activate role-orchestrator**:
|
|
36
|
-
- Analyze user's description
|
|
37
|
-
- Determine which strategic agents are needed:
|
|
38
|
-
- pm-agent (product strategy)?
|
|
39
|
-
- architect-agent (system design)?
|
|
40
|
-
- devops-agent (infrastructure)?
|
|
41
|
-
- security-agent (security review)?
|
|
42
|
-
- qa-lead-agent (testing strategy)?
|
|
43
|
-
|
|
44
|
-
5. **Ask clarifying questions** (if needed):
|
|
45
|
-
- Target users/scale?
|
|
46
|
-
- Technology preferences? (if not detected)
|
|
47
|
-
- Budget constraints?
|
|
48
|
-
- Deployment platform?
|
|
49
|
-
- Payment processing needed?
|
|
50
|
-
- Authentication method?
|
|
51
|
-
|
|
52
|
-
6. **Run strategic agents** (with user approval):
|
|
53
|
-
- **Pass detected tech stack to ALL agents** (CRITICAL!)
|
|
54
|
-
- PM agent creates pm-analysis.md
|
|
55
|
-
- Architect agent creates architecture.md, ADRs (using detected tech stack)
|
|
56
|
-
- DevOps agent creates infrastructure.md (platform-specific)
|
|
57
|
-
- Security agent creates security.md (framework-specific security)
|
|
58
|
-
- QA agent creates test-strategy.md (framework-specific tests)
|
|
59
|
-
|
|
60
|
-
7. **Present strategic docs for review**:
|
|
61
|
-
- Show summary of all strategic outputs
|
|
62
|
-
- Ask: "Review docs with /review-docs or approve to continue?"
|
|
63
|
-
- Wait for user approval
|
|
64
|
-
|
|
65
|
-
8. **Create spec.md** (based on strategic docs):
|
|
66
|
-
- Frontmatter with increment number, title, priority, status, dependencies
|
|
67
|
-
- **Include detected tech stack in frontmatter** (see format below)
|
|
68
|
-
- Overview section
|
|
69
|
-
- Business value
|
|
70
|
-
- User stories with acceptance tests
|
|
71
|
-
- Functional requirements
|
|
72
|
-
- Out of scope
|
|
73
|
-
- Success criteria
|
|
74
|
-
- Dependencies
|
|
75
|
-
|
|
76
|
-
9. **Create tasks.md** (task-builder skill):
|
|
77
|
-
- Analyze all strategic docs
|
|
78
|
-
- Break down into phases (framework-specific)
|
|
79
|
-
- Create tasks with:
|
|
80
|
-
- Agent references (use framework-specific agents if available)
|
|
81
|
-
- File paths (framework-specific paths: src/ for TS, app/ for Django, etc.)
|
|
82
|
-
- Implementation snippets (framework-specific code)
|
|
83
|
-
- Acceptance criteria
|
|
84
|
-
- Documentation updates
|
|
85
|
-
|
|
86
|
-
10. **Save increment**:
|
|
87
|
-
- Create `.specweave/increments/####-name/`
|
|
88
|
-
- Save spec.md
|
|
89
|
-
- Save tasks.md
|
|
90
|
-
- Save strategic docs (pm-analysis.md, architecture.md, etc.)
|
|
91
|
-
|
|
92
|
-
11. **Output to user**:
|
|
93
|
-
```
|
|
94
|
-
✅ Created increment 0003-user-authentication
|
|
95
|
-
|
|
96
|
-
Detected tech stack:
|
|
97
|
-
- Language: {detected-language} (e.g., Python, TypeScript, Go, Java)
|
|
98
|
-
- Framework: {detected-framework} (e.g., Django, FastAPI, NextJS, Spring Boot)
|
|
99
|
-
- Database: {specified-database} (e.g., PostgreSQL, MySQL, MongoDB)
|
|
100
|
-
- Platform: {specified-platform} (e.g., AWS, Hetzner, Vercel, self-hosted)
|
|
101
|
-
|
|
102
|
-
Location: .specweave/increments/0003-user-authentication/
|
|
103
|
-
|
|
104
|
-
📋 Files created:
|
|
105
|
-
- spec.md (6 user stories, 15 requirements)
|
|
106
|
-
- tasks.md (42 implementation tasks using {framework} patterns)
|
|
107
|
-
- pm-analysis.md (product strategy)
|
|
108
|
-
- architecture.md (system design for {framework})
|
|
109
|
-
- infrastructure.md ({platform} deployment)
|
|
110
|
-
- security.md ({framework}-specific security)
|
|
111
|
-
- test-strategy.md (E2E tests for {framework})
|
|
112
|
-
|
|
113
|
-
⏱️ Estimated effort: 3-4 weeks
|
|
114
|
-
|
|
115
|
-
Next steps:
|
|
116
|
-
1. Review docs: /review-docs
|
|
117
|
-
2. Start implementation: Begin with Task T001 in tasks.md
|
|
118
|
-
3. Sync to GitHub: /sync-github
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## Frontmatter Format (spec.md):
|
|
122
|
-
|
|
123
|
-
**IMPORTANT**: Tech stack is DETECTED from `.specweave/config.yaml` or project files, NOT hardcoded!
|
|
124
|
-
|
|
125
|
-
```yaml
|
|
126
|
-
---
|
|
127
|
-
increment: 003-user-authentication
|
|
128
|
-
title: "User Authentication System"
|
|
129
|
-
priority: P1
|
|
130
|
-
status: planned
|
|
131
|
-
created: 2025-10-26
|
|
132
|
-
dependencies: []
|
|
133
|
-
structure: user-stories
|
|
134
|
-
|
|
135
|
-
# Tech stack is DETECTED, not hardcoded
|
|
136
|
-
tech_stack:
|
|
137
|
-
detected_from: ".specweave/config.yaml" # or "package.json", "requirements.txt", etc.
|
|
138
|
-
language: "{detected-language}" # e.g., "typescript", "python", "go", "java", "rust"
|
|
139
|
-
framework: "{detected-framework}" # e.g., "nextjs", "django", "fastapi", "spring-boot", "gin"
|
|
140
|
-
database: "{specified-database}" # e.g., "postgresql", "mysql", "mongodb", "sqlite"
|
|
141
|
-
orm: "{detected-orm}" # e.g., "prisma", "django-orm", "sqlalchemy", "hibernate"
|
|
142
|
-
|
|
143
|
-
# Platform is SPECIFIED by user or detected from config
|
|
144
|
-
platform: "{specified-platform}" # e.g., "hetzner", "aws", "vercel", "self-hosted"
|
|
145
|
-
estimated_cost: "{calculated-based-on-platform}"
|
|
146
|
-
---
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**Example for TypeScript/NextJS project**:
|
|
150
|
-
```yaml
|
|
151
|
-
tech_stack:
|
|
152
|
-
detected_from: "package.json"
|
|
153
|
-
language: "typescript"
|
|
154
|
-
framework: "nextjs"
|
|
155
|
-
database: "postgresql"
|
|
156
|
-
orm: "prisma"
|
|
157
|
-
platform: "vercel"
|
|
158
|
-
estimated_cost: "$20/month"
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
**Example for Python/Django project**:
|
|
162
|
-
```yaml
|
|
163
|
-
tech_stack:
|
|
164
|
-
detected_from: "requirements.txt"
|
|
165
|
-
language: "python"
|
|
166
|
-
framework: "django"
|
|
167
|
-
database: "postgresql"
|
|
168
|
-
orm: "django-orm"
|
|
169
|
-
platform: "hetzner"
|
|
170
|
-
estimated_cost: "$12/month"
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
**Example for Go/Gin project**:
|
|
174
|
-
```yaml
|
|
175
|
-
tech_stack:
|
|
176
|
-
detected_from: "go.mod"
|
|
177
|
-
language: "go"
|
|
178
|
-
framework: "gin"
|
|
179
|
-
database: "postgresql"
|
|
180
|
-
orm: "gorm"
|
|
181
|
-
platform: "aws"
|
|
182
|
-
estimated_cost: "$25/month"
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
## Frontmatter Format (tasks.md):
|
|
186
|
-
|
|
187
|
-
```yaml
|
|
188
|
-
---
|
|
189
|
-
increment: 003-event-booking-saas
|
|
190
|
-
status: planned
|
|
191
|
-
dependencies:
|
|
192
|
-
- 001-skills-framework
|
|
193
|
-
- 002-role-based-agents
|
|
194
|
-
phases:
|
|
195
|
-
- infrastructure
|
|
196
|
-
- backend
|
|
197
|
-
- frontend
|
|
198
|
-
- testing
|
|
199
|
-
- deployment
|
|
200
|
-
estimated_tasks: 42
|
|
201
|
-
estimated_weeks: 3-4
|
|
202
|
-
---
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
## Autonomous Mode (Advanced):
|
|
206
|
-
|
|
207
|
-
If user says "autonomous mode" or "full automation":
|
|
208
|
-
1. Run all strategic agents
|
|
209
|
-
2. Create increment
|
|
210
|
-
3. **Start implementation immediately** (with permission)
|
|
211
|
-
4. Ask clarification questions only when critical
|
|
212
|
-
5. Suggest doc updates when needed
|
|
213
|
-
6. Complete full implementation autonomously
|
|
214
|
-
|
|
215
|
-
## Error Handling:
|
|
216
|
-
|
|
217
|
-
- If `.specweave/` not found: "Error: Not a SpecWeave project. Run /create-project first."
|
|
218
|
-
- If user description too vague: Ask more clarifying questions
|
|
219
|
-
- If strategic agents not available: "Warning: Some agents missing. Continue with basic spec?"
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
**Important**: This is the main entry point for creating new work in SpecWeave.
|
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: review-docs
|
|
3
|
-
description: Review strategic documentation before implementation (PM analysis, architecture, ADRs, infrastructure, security, testing)
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Review Strategic Documentation
|
|
7
|
-
|
|
8
|
-
You are presenting strategic documentation for user review before implementation begins.
|
|
9
|
-
|
|
10
|
-
## Steps:
|
|
11
|
-
|
|
12
|
-
1. **Detect current increment**:
|
|
13
|
-
- Look for most recent or in-progress increment in `.specweave/increments/`
|
|
14
|
-
- Or ask: "Which increment would you like to review? (001, 002, 003, etc.)"
|
|
15
|
-
|
|
16
|
-
2. **Read all strategic documentation**:
|
|
17
|
-
- spec.md (user stories, requirements)
|
|
18
|
-
- pm-analysis.md (if exists)
|
|
19
|
-
- architecture.md, ADRs in `.specweave/docs/architecture/`, `.specweave/docs/decisions/`
|
|
20
|
-
- infrastructure.md (if exists)
|
|
21
|
-
- security.md (if exists)
|
|
22
|
-
- test-strategy.md (if exists)
|
|
23
|
-
|
|
24
|
-
3. **Present comprehensive summary**:
|
|
25
|
-
|
|
26
|
-
## Review Format:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
═══════════════════════════════════════════════════════
|
|
30
|
-
📋 Strategic Documentation Review
|
|
31
|
-
═══════════════════════════════════════════════════════
|
|
32
|
-
|
|
33
|
-
Increment: 003-event-booking-saas
|
|
34
|
-
Title: Event Booking SaaS Platform
|
|
35
|
-
Priority: P1
|
|
36
|
-
Status: Planned
|
|
37
|
-
|
|
38
|
-
───────────────────────────────────────────────────────
|
|
39
|
-
✅ PRODUCT STRATEGY (pm-analysis.md)
|
|
40
|
-
───────────────────────────────────────────────────────
|
|
41
|
-
|
|
42
|
-
User Personas:
|
|
43
|
-
1. Barber Shop Owner (primary)
|
|
44
|
-
- Needs: Easy booking management, reduce no-shows
|
|
45
|
-
- Pain points: Manual scheduling, phone tag
|
|
46
|
-
|
|
47
|
-
2. Customer (secondary)
|
|
48
|
-
- Needs: Quick booking, reminders
|
|
49
|
-
- Pain points: Calling during business hours
|
|
50
|
-
|
|
51
|
-
Business Model:
|
|
52
|
-
- Revenue: Subscription ($29/month per business)
|
|
53
|
-
- Alternative: 3% commission per booking
|
|
54
|
-
- Target: 100 businesses in Year 1 ($34k ARR)
|
|
55
|
-
|
|
56
|
-
Feature Prioritization:
|
|
57
|
-
P1 (MVP):
|
|
58
|
-
- Booking calendar
|
|
59
|
-
- SMS/Email notifications
|
|
60
|
-
- Payment processing
|
|
61
|
-
|
|
62
|
-
P2 (Post-launch):
|
|
63
|
-
- Recurring bookings
|
|
64
|
-
- Multiple staff members
|
|
65
|
-
- Analytics dashboard
|
|
66
|
-
|
|
67
|
-
Success Metrics:
|
|
68
|
-
- Bookings per business: 50+/month
|
|
69
|
-
- No-show reduction: 30%
|
|
70
|
-
- Customer satisfaction: 4.5+/5
|
|
71
|
-
|
|
72
|
-
───────────────────────────────────────────────────────
|
|
73
|
-
✅ SYSTEM ARCHITECTURE (architecture.md)
|
|
74
|
-
───────────────────────────────────────────────────────
|
|
75
|
-
|
|
76
|
-
**IMPORTANT**: Architecture adapts to YOUR detected tech stack!
|
|
77
|
-
|
|
78
|
-
Tech Stack (detected from .specweave/config.yaml or project files):
|
|
79
|
-
Frontend: {detected-frontend} (e.g., NextJS, React, Vue, Angular, Svelte)
|
|
80
|
-
Backend: {detected-backend} (e.g., Django, FastAPI, Express, Spring Boot, Gin)
|
|
81
|
-
Database: {specified-database} (e.g., PostgreSQL, MySQL, MongoDB, SQLite)
|
|
82
|
-
ORM: {detected-orm} (e.g., Prisma, Django ORM, SQLAlchemy, Hibernate, GORM)
|
|
83
|
-
UI: {specified-ui} (e.g., Tailwind, Material UI, Bootstrap, Chakra)
|
|
84
|
-
Auth: {specified-auth} (e.g., NextAuth, Django Auth, Passport, JWT, Auth0)
|
|
85
|
-
Payments: {specified-payments} (e.g., Stripe, PayPal, Square)
|
|
86
|
-
|
|
87
|
-
System Design:
|
|
88
|
-
[Mermaid diagram showing architecture using YOUR framework]
|
|
89
|
-
|
|
90
|
-
Example for TypeScript/NextJS:
|
|
91
|
-
User → NextJS (SSR) → API Routes → Prisma → PostgreSQL
|
|
92
|
-
|
|
93
|
-
Example for Python/Django:
|
|
94
|
-
User → Django (Templates) → Views → Django ORM → PostgreSQL
|
|
95
|
-
|
|
96
|
-
Example for Go/Gin:
|
|
97
|
-
User → Gin API → Handlers → GORM → PostgreSQL
|
|
98
|
-
|
|
99
|
-
(Architecture diagram adapts to YOUR detected stack)
|
|
100
|
-
|
|
101
|
-
Data Models:
|
|
102
|
-
- User (auth, profile)
|
|
103
|
-
- Business (shop details)
|
|
104
|
-
- Service (haircut, massage, etc.)
|
|
105
|
-
- Booking (appointment)
|
|
106
|
-
- Payment (transaction)
|
|
107
|
-
|
|
108
|
-
API Design:
|
|
109
|
-
- POST /api/bookings/create
|
|
110
|
-
- GET /api/bookings/:id
|
|
111
|
-
- PUT /api/bookings/:id/cancel
|
|
112
|
-
- GET /api/availability
|
|
113
|
-
|
|
114
|
-
Scalability:
|
|
115
|
-
- Handles 10,000 users
|
|
116
|
-
- 1,000 concurrent bookings/day
|
|
117
|
-
- Redis caching for availability queries
|
|
118
|
-
- Database indexing on booking_date, business_id
|
|
119
|
-
|
|
120
|
-
───────────────────────────────────────────────────────
|
|
121
|
-
✅ ARCHITECTURE DECISIONS (ADRs)
|
|
122
|
-
───────────────────────────────────────────────────────
|
|
123
|
-
|
|
124
|
-
**ADRs are framework-specific and adapt to YOUR project**
|
|
125
|
-
|
|
126
|
-
Example ADRs for TypeScript/NextJS project:
|
|
127
|
-
ADR 001: NextJS over separate React + API
|
|
128
|
-
- Reason: Simplified deployment, SSR benefits
|
|
129
|
-
- Trade-off: Less separation of concerns
|
|
130
|
-
|
|
131
|
-
Example ADRs for Python/Django project:
|
|
132
|
-
ADR 001: Django monolith over microservices
|
|
133
|
-
- Reason: Faster development, easier deployment for MVP
|
|
134
|
-
- Trade-off: Harder to scale individual components
|
|
135
|
-
|
|
136
|
-
Example ADRs for Go/Gin project:
|
|
137
|
-
ADR 001: Gin over Echo
|
|
138
|
-
- Reason: Better performance, larger community
|
|
139
|
-
- Trade-off: Less built-in middleware
|
|
140
|
-
|
|
141
|
-
Platform Decision (adapts to user preference):
|
|
142
|
-
ADR 00X: {Platform} over {Alternative}
|
|
143
|
-
- Reason: Cost, performance, or developer familiarity
|
|
144
|
-
- Examples: Hetzner ($12/mo), Vercel ($20/mo), AWS ($25/mo), self-hosted
|
|
145
|
-
|
|
146
|
-
Database Decision (adapts to use case):
|
|
147
|
-
ADR 00X: {Database} over {Alternative}
|
|
148
|
-
- Reason: ACID compliance, scaling needs, or data structure
|
|
149
|
-
- Examples: PostgreSQL (relational), MongoDB (document), Redis (cache)
|
|
150
|
-
|
|
151
|
-
───────────────────────────────────────────────────────
|
|
152
|
-
✅ INFRASTRUCTURE (infrastructure.md)
|
|
153
|
-
───────────────────────────────────────────────────────
|
|
154
|
-
|
|
155
|
-
**Infrastructure adapts to chosen platform**
|
|
156
|
-
|
|
157
|
-
Platform: {detected-platform} (e.g., Hetzner, AWS, Vercel, self-hosted)
|
|
158
|
-
|
|
159
|
-
Example for Hetzner Cloud:
|
|
160
|
-
Resources:
|
|
161
|
-
- CX21 instance (2 vCPU, 4GB RAM): $6.90/month
|
|
162
|
-
- Managed Postgres (2GB): $5.00/month
|
|
163
|
-
- Total: ~$12/month
|
|
164
|
-
|
|
165
|
-
Example for AWS:
|
|
166
|
-
Resources:
|
|
167
|
-
- t3.small EC2 (2 vCPU, 2GB RAM): $15/month
|
|
168
|
-
- RDS PostgreSQL (db.t3.micro): $12/month
|
|
169
|
-
- Total: ~$27/month
|
|
170
|
-
|
|
171
|
-
Example for Vercel:
|
|
172
|
-
Resources:
|
|
173
|
-
- Hobby tier (for small projects): $20/month
|
|
174
|
-
- Pro tier (for production): $20/month
|
|
175
|
-
- Database (Neon/PlanetScale): $0-10/month
|
|
176
|
-
|
|
177
|
-
Deployment:
|
|
178
|
-
- Docker containers
|
|
179
|
-
- GitHub Actions CI/CD
|
|
180
|
-
- Blue-green deployment
|
|
181
|
-
- Automated backups (daily)
|
|
182
|
-
|
|
183
|
-
Monitoring:
|
|
184
|
-
- Uptime Kuma (self-hosted)
|
|
185
|
-
- Error tracking: Sentry (free tier)
|
|
186
|
-
- Analytics: Plausible (self-hosted)
|
|
187
|
-
|
|
188
|
-
DNS & SSL:
|
|
189
|
-
- Cloudflare (free tier)
|
|
190
|
-
- Let's Encrypt (auto-renewal)
|
|
191
|
-
|
|
192
|
-
───────────────────────────────────────────────────────
|
|
193
|
-
✅ SECURITY (security.md)
|
|
194
|
-
───────────────────────────────────────────────────────
|
|
195
|
-
|
|
196
|
-
**Security strategy adapts to YOUR framework**
|
|
197
|
-
|
|
198
|
-
Authentication (framework-specific):
|
|
199
|
-
- TypeScript/NextJS: NextAuth.js with credentials + OAuth
|
|
200
|
-
- Python/Django: Django Auth with Allauth
|
|
201
|
-
- Go/Gin: JWT tokens with middleware
|
|
202
|
-
- Java/Spring: Spring Security with OAuth2
|
|
203
|
-
|
|
204
|
-
Providers: Google, GitHub, Email magic links (framework-agnostic)
|
|
205
|
-
Session management: JWT or session cookies (framework-dependent)
|
|
206
|
-
|
|
207
|
-
Authorization (framework-specific):
|
|
208
|
-
- TypeScript/Prisma: Row-level security in PostgreSQL
|
|
209
|
-
- Python/Django: Django permissions + object-level permissions
|
|
210
|
-
- Go/GORM: Middleware-based access control
|
|
211
|
-
- Java/Spring: Spring Security annotations
|
|
212
|
-
|
|
213
|
-
Business logic:
|
|
214
|
-
- Businesses can only access their own data
|
|
215
|
-
- Customers can only see their own bookings
|
|
216
|
-
|
|
217
|
-
Data Protection (framework-agnostic):
|
|
218
|
-
- GDPR compliant
|
|
219
|
-
- Data encryption at rest (database-level)
|
|
220
|
-
- HTTPS only (enforced)
|
|
221
|
-
- PII data: minimal collection
|
|
222
|
-
|
|
223
|
-
Payment Security (framework-agnostic):
|
|
224
|
-
- Stripe (PCI-DSS compliant)
|
|
225
|
-
- No card data stored locally
|
|
226
|
-
- Webhook signature verification (framework-specific implementation)
|
|
227
|
-
|
|
228
|
-
───────────────────────────────────────────────────────
|
|
229
|
-
✅ TEST STRATEGY (test-strategy.md)
|
|
230
|
-
───────────────────────────────────────────────────────
|
|
231
|
-
|
|
232
|
-
Test Pyramid:
|
|
233
|
-
E2E Tests (10%): Playwright
|
|
234
|
-
- Complete booking flow
|
|
235
|
-
- Payment flow
|
|
236
|
-
- Cancellation flow
|
|
237
|
-
|
|
238
|
-
Integration Tests (30%): Jest + Testing Library
|
|
239
|
-
- API endpoints
|
|
240
|
-
- Database queries
|
|
241
|
-
- External service mocks (Stripe, Vonage)
|
|
242
|
-
|
|
243
|
-
Unit Tests (60%): Jest
|
|
244
|
-
- Business logic
|
|
245
|
-
- Utilities
|
|
246
|
-
- Validation functions
|
|
247
|
-
|
|
248
|
-
Coverage Target: 80%
|
|
249
|
-
|
|
250
|
-
Critical Paths (E2E):
|
|
251
|
-
1. Business signup → Create service → Receive booking
|
|
252
|
-
2. Customer booking → Payment → Confirmation
|
|
253
|
-
3. Cancellation → Refund
|
|
254
|
-
|
|
255
|
-
Performance Tests:
|
|
256
|
-
- 100 concurrent bookings
|
|
257
|
-
- Response time <200ms (p95)
|
|
258
|
-
- Database query optimization
|
|
259
|
-
|
|
260
|
-
───────────────────────────────────────────────────────
|
|
261
|
-
💰 COST ESTIMATE
|
|
262
|
-
───────────────────────────────────────────────────────
|
|
263
|
-
|
|
264
|
-
Infrastructure: $12/month
|
|
265
|
-
External Services:
|
|
266
|
-
- Stripe: 2.9% + $0.30 per transaction
|
|
267
|
-
- Resend: $20/month (10k emails)
|
|
268
|
-
- Vonage: $10/month (~2k SMS)
|
|
269
|
-
|
|
270
|
-
Total Monthly: $42/month (at 100 businesses)
|
|
271
|
-
|
|
272
|
-
Revenue: $2,900/month (100 businesses * $29)
|
|
273
|
-
Profit: $2,858/month (98% margin)
|
|
274
|
-
|
|
275
|
-
───────────────────────────────────────────────────────
|
|
276
|
-
⏱️ IMPLEMENTATION ESTIMATE
|
|
277
|
-
───────────────────────────────────────────────────────
|
|
278
|
-
|
|
279
|
-
Total Tasks: 42
|
|
280
|
-
Estimated Time: 3-4 weeks (1 developer)
|
|
281
|
-
|
|
282
|
-
Phases:
|
|
283
|
-
Week 1: Infrastructure + Backend (Tasks T001-T020)
|
|
284
|
-
Week 2: Frontend (Tasks T021-T035)
|
|
285
|
-
Week 3: Testing (Tasks T036-T040)
|
|
286
|
-
Week 4: Deployment + Polish (Tasks T041-T042)
|
|
287
|
-
|
|
288
|
-
═══════════════════════════════════════════════════════
|
|
289
|
-
|
|
290
|
-
Do you approve this plan?
|
|
291
|
-
|
|
292
|
-
Options:
|
|
293
|
-
✅ "approve" - Start creating tasks.md
|
|
294
|
-
⚠️ "changes needed" - Request specific updates
|
|
295
|
-
📋 "questions" - Ask clarifying questions
|
|
296
|
-
🔄 "regenerate" - Regenerate strategic analysis
|
|
297
|
-
|
|
298
|
-
───────────────────────────────────────────────────────
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
## After User Approval:
|
|
302
|
-
|
|
303
|
-
If user approves:
|
|
304
|
-
```
|
|
305
|
-
✅ Strategic documentation approved
|
|
306
|
-
|
|
307
|
-
Next steps:
|
|
308
|
-
1. Creating tasks.md with task-builder skill...
|
|
309
|
-
2. Breaking down into 42 implementation tasks...
|
|
310
|
-
3. Estimated completion: [date]
|
|
311
|
-
|
|
312
|
-
Once tasks.md is ready:
|
|
313
|
-
- Type "start implementation" to begin Task T001
|
|
314
|
-
- Or review tasks first with: cat .specweave/increments/0003-event-booking-saas/tasks.md
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
If user requests changes:
|
|
318
|
-
```
|
|
319
|
-
What would you like to change?
|
|
320
|
-
1. Architecture (tech stack, design)
|
|
321
|
-
2. Infrastructure (platform, cost)
|
|
322
|
-
3. Features (scope, priorities)
|
|
323
|
-
4. Security approach
|
|
324
|
-
5. Other
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
Then run appropriate agents again and re-present.
|
|
328
|
-
|
|
329
|
-
---
|
|
330
|
-
|
|
331
|
-
**Important**: This command is critical for ensuring user approval before starting costly implementation work.
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sync-github
|
|
3
|
-
description: Sync SpecWeave increment to GitHub issues with checkable subtasks
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Sync Increment to GitHub
|
|
7
|
-
|
|
8
|
-
You are syncing a SpecWeave increment to GitHub issues.
|
|
9
|
-
|
|
10
|
-
## Steps:
|
|
11
|
-
|
|
12
|
-
1. **Detect current increment** or ask user which to sync:
|
|
13
|
-
- Look in `.specweave/increments/` for most recent or in-progress increment
|
|
14
|
-
- Or ask: "Which increment would you like to sync? (001, 002, etc.)"
|
|
15
|
-
|
|
16
|
-
2. **Read increment files**:
|
|
17
|
-
- spec.md (user stories, acceptance tests)
|
|
18
|
-
- tasks.md (implementation tasks)
|
|
19
|
-
- Optional: pm-analysis.md, architecture.md, etc.
|
|
20
|
-
|
|
21
|
-
3. **Use github-sync skill** to:
|
|
22
|
-
- Create GitHub issue with title: `[Increment ###] [Title]`
|
|
23
|
-
- Add overview from spec.md
|
|
24
|
-
- Add user stories as checkable subtasks (GitHub task list)
|
|
25
|
-
- Add tasks as nested checklist
|
|
26
|
-
- Add labels: `specweave`, `priority:P1/P2/P3`, `status:planned/in-progress/completed`
|
|
27
|
-
- Add links back to `.specweave/increments/` files
|
|
28
|
-
|
|
29
|
-
4. **Store GitHub issue number**:
|
|
30
|
-
- Update increment frontmatter with `github_issue: #123`
|
|
31
|
-
- This enables bidirectional sync
|
|
32
|
-
|
|
33
|
-
## GitHub Issue Format:
|
|
34
|
-
|
|
35
|
-
```markdown
|
|
36
|
-
# [Increment ###] Title
|
|
37
|
-
|
|
38
|
-
## Overview
|
|
39
|
-
[From spec.md]
|
|
40
|
-
|
|
41
|
-
## Business Value
|
|
42
|
-
[From spec.md if exists]
|
|
43
|
-
|
|
44
|
-
## User Stories
|
|
45
|
-
|
|
46
|
-
- [ ] **US1**: [Title] (P1)
|
|
47
|
-
- Acceptance test 1
|
|
48
|
-
- Acceptance test 2
|
|
49
|
-
- [ ] **US2**: [Title] (P2)
|
|
50
|
-
- Acceptance test 1
|
|
51
|
-
|
|
52
|
-
## Implementation Tasks
|
|
53
|
-
|
|
54
|
-
### Phase 1: [Phase Name]
|
|
55
|
-
- [ ] **T001**: [Task description]
|
|
56
|
-
- [ ] **T002**: [Task description]
|
|
57
|
-
|
|
58
|
-
### Phase 2: [Phase Name]
|
|
59
|
-
- [ ] **T010**: [Task description]
|
|
60
|
-
|
|
61
|
-
## Documentation
|
|
62
|
-
|
|
63
|
-
- [Specification](.specweave/increments/####-name/spec.md)
|
|
64
|
-
- [Tasks](.specweave/increments/####-name/tasks.md)
|
|
65
|
-
- [Architecture](.specweave/docs/architecture/) (if applicable)
|
|
66
|
-
|
|
67
|
-
## Dependencies
|
|
68
|
-
|
|
69
|
-
- Depends on: #[issue-number] (if applicable)
|
|
70
|
-
|
|
71
|
-
## Success Criteria
|
|
72
|
-
|
|
73
|
-
[From spec.md]
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
*Created by SpecWeave - [Learn more](https://github.com/specweave/specweave)*
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Output to User:
|
|
80
|
-
|
|
81
|
-
After syncing, tell user:
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
✅ Synced increment 002-role-based-agents to GitHub
|
|
85
|
-
|
|
86
|
-
Issue: #15
|
|
87
|
-
URL: https://github.com/[user]/[repo]/issues/15
|
|
88
|
-
|
|
89
|
-
📋 Contains:
|
|
90
|
-
- 6 user stories
|
|
91
|
-
- 17 tasks
|
|
92
|
-
- Links to all documentation
|
|
93
|
-
|
|
94
|
-
The issue will automatically update when you mark tasks complete.
|
|
95
|
-
|
|
96
|
-
To update manually: /sync-github
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Bidirectional Sync
|
|
100
|
-
|
|
101
|
-
If the increment already has `github_issue` in frontmatter:
|
|
102
|
-
- Update existing issue instead of creating new one
|
|
103
|
-
- Sync status changes (completed tasks, etc.)
|
|
104
|
-
- Add comment with updates
|
|
105
|
-
|
|
106
|
-
## Error Handling
|
|
107
|
-
|
|
108
|
-
- If not in a git repository: "Error: Not a git repository. Initialize git first."
|
|
109
|
-
- If no GitHub credentials: "Error: GitHub credentials not configured. Set GITHUB_TOKEN."
|
|
110
|
-
- If increment not found: "Error: Increment not found. Use /create-increment first."
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
**Important**: This command requires the `github-sync` skill to be installed.
|
|
115
|
-
If not found, suggest: `npx specweave install github-sync`
|