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
|
@@ -47,23 +47,21 @@ This guide contains:
|
|
|
47
47
|
|
|
48
48
|
## 🌍 Environment Configuration (READ FIRST)
|
|
49
49
|
|
|
50
|
-
**CRITICAL**: Before deploying ANY infrastructure,
|
|
50
|
+
**CRITICAL**: Before deploying ANY infrastructure, detect the deployment environment using auto-detection or prompt the user.
|
|
51
51
|
|
|
52
52
|
### Environment Detection Workflow
|
|
53
53
|
|
|
54
|
-
**Step 1:
|
|
54
|
+
**Step 1: Auto-Detect Environment**
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
|
-
#
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
# Use yq or similar YAML parser
|
|
61
|
-
fi
|
|
57
|
+
# Auto-detect from environment variables or project structure
|
|
58
|
+
# Check for: .env files, deployment configs, cloud provider CLIs
|
|
59
|
+
# Prompt user if multiple options detected
|
|
62
60
|
```
|
|
63
61
|
|
|
64
|
-
**Step 2:
|
|
62
|
+
**Step 2: Determine Environment Strategy**
|
|
65
63
|
|
|
66
|
-
|
|
64
|
+
Environment configuration auto-detected or prompted:
|
|
67
65
|
|
|
68
66
|
```yaml
|
|
69
67
|
# Example config structure
|
|
@@ -158,7 +156,7 @@ terraform {
|
|
|
158
156
|
locals {
|
|
159
157
|
environment = "staging"
|
|
160
158
|
|
|
161
|
-
# From
|
|
159
|
+
# From environment detection or user prompt
|
|
162
160
|
deployment_provider = "hetzner"
|
|
163
161
|
deployment_region = "eu-central"
|
|
164
162
|
requires_approval = false
|
|
@@ -204,7 +202,7 @@ terraform {
|
|
|
204
202
|
locals {
|
|
205
203
|
environment = "production"
|
|
206
204
|
|
|
207
|
-
# From
|
|
205
|
+
# From environment detection or user prompt
|
|
208
206
|
deployment_provider = "hetzner"
|
|
209
207
|
deployment_region = "eu-central"
|
|
210
208
|
requires_approval = true
|
|
@@ -246,7 +244,7 @@ on:
|
|
|
246
244
|
branches: [develop]
|
|
247
245
|
|
|
248
246
|
env:
|
|
249
|
-
ENVIRONMENT: staging # ← From
|
|
247
|
+
ENVIRONMENT: staging # ← From environment detection
|
|
250
248
|
|
|
251
249
|
jobs:
|
|
252
250
|
deploy:
|
|
@@ -273,12 +271,12 @@ on:
|
|
|
273
271
|
workflow_dispatch: # Manual trigger only
|
|
274
272
|
|
|
275
273
|
env:
|
|
276
|
-
ENVIRONMENT: production # ← From
|
|
274
|
+
ENVIRONMENT: production # ← From environment detection
|
|
277
275
|
|
|
278
276
|
jobs:
|
|
279
277
|
deploy:
|
|
280
278
|
runs-on: ubuntu-latest
|
|
281
|
-
environment: production # Requires approval (from
|
|
279
|
+
environment: production # Requires approval (from environment settings)
|
|
282
280
|
|
|
283
281
|
steps:
|
|
284
282
|
- uses: actions/checkout@v4
|
|
@@ -303,8 +301,8 @@ jobs:
|
|
|
303
301
|
|
|
304
302
|
I see you want to deploy, but I need to know your environment setup first.
|
|
305
303
|
|
|
306
|
-
Current environments
|
|
307
|
-
- None found (
|
|
304
|
+
Current environments detected:
|
|
305
|
+
- None found (not configured)
|
|
308
306
|
|
|
309
307
|
How many environments will you need?
|
|
310
308
|
|
|
@@ -328,7 +326,7 @@ D) Custom (you specify)
|
|
|
328
326
|
- Define your own environment pipeline
|
|
329
327
|
```
|
|
330
328
|
|
|
331
|
-
**After user responds**,
|
|
329
|
+
**After user responds**, save environment settings and proceed with infrastructure generation.
|
|
332
330
|
|
|
333
331
|
---
|
|
334
332
|
|
|
@@ -1175,7 +1173,7 @@ jobs:
|
|
|
1175
1173
|
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
|
1176
1174
|
|
|
1177
1175
|
- name: Build and push Docker image
|
|
1178
|
-
uses: docker/
|
|
1176
|
+
uses: docker/do-push-action@v5
|
|
1179
1177
|
with:
|
|
1180
1178
|
context: .
|
|
1181
1179
|
push: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: docs-writer
|
|
3
|
-
description: Technical documentation writer for API documentation, user guides, developer guides, README files, architecture documentation, and knowledge base articles. Creates clear, comprehensive documentation using Markdown, OpenAPI/Swagger specs, Docusaurus,
|
|
3
|
+
description: Technical documentation writer for API documentation, user guides, developer guides, README files, architecture documentation, and knowledge base articles. Creates clear, comprehensive documentation using Markdown, OpenAPI/Swagger specs, Docusaurus, JSDoc, docstrings. Activates for: documentation, docs, README, API documentation, user guide, developer guide, technical writing, Markdown, OpenAPI, Swagger, JSDoc, docstring, documentation site, Docusaurus, GitBook, Notion docs, wiki, knowledge base, how-to guide, tutorial, reference docs, changelog, release notes.
|
|
4
4
|
tools: Read, Write, Edit
|
|
5
5
|
model: claude-haiku-4-5-20251001
|
|
6
6
|
---
|
|
@@ -15,7 +15,7 @@ You are an expert technical writer with 8+ years of experience creating clear, c
|
|
|
15
15
|
- **User Guides**: Step-by-step tutorials, how-to guides, quickstart guides
|
|
16
16
|
- **Developer Docs**: Architecture docs, contribution guides, setup instructions
|
|
17
17
|
- **Code Documentation**: JSDoc, Python docstrings, XML comments (C#)
|
|
18
|
-
- **Documentation Sites**: Docusaurus
|
|
18
|
+
- **Documentation Sites**: Docusaurus (primary), GitBook, VitePress
|
|
19
19
|
- **Markdown**: GitHub-flavored Markdown, MDX
|
|
20
20
|
- **Diagrams**: Mermaid, PlantUML, diagrams-as-code
|
|
21
21
|
- **Style Guides**: Microsoft Writing Style Guide, Google developer docs style
|
package/src/agents/pm/AGENT.md
CHANGED
|
@@ -623,28 +623,7 @@ Output:
|
|
|
623
623
|
|
|
624
624
|
## Configuration
|
|
625
625
|
|
|
626
|
-
```yaml
|
|
627
|
-
# .specweave/config.yaml
|
|
628
|
-
pm_agent:
|
|
629
|
-
enabled: true
|
|
630
|
-
|
|
631
|
-
# Prioritization framework
|
|
632
|
-
default_framework: "RICE" # RICE, MoSCoW, Kano
|
|
633
|
-
|
|
634
|
-
# User story format
|
|
635
|
-
story_format: "agile" # agile, gherkin, custom
|
|
636
626
|
|
|
637
|
-
# Estimation scale
|
|
638
|
-
estimation: "fibonacci" # fibonacci, t-shirt, hours
|
|
639
|
-
|
|
640
|
-
# Output locations
|
|
641
|
-
specifications_dir: "specifications/modules/"
|
|
642
|
-
roadmap_file: "features/roadmap.md"
|
|
643
|
-
|
|
644
|
-
# Stakeholder communication
|
|
645
|
-
business_language: true # Use non-technical language
|
|
646
|
-
include_roi: true # Always calculate ROI
|
|
647
|
-
```
|
|
648
627
|
|
|
649
628
|
## Testing
|
|
650
629
|
|
|
@@ -977,35 +956,7 @@ Create new increment for extra scope? [Y/n]
|
|
|
977
956
|
|
|
978
957
|
### Configuration
|
|
979
958
|
|
|
980
|
-
|
|
981
|
-
# .specweave/config.yaml
|
|
982
|
-
increment_closure:
|
|
983
|
-
pm_validation:
|
|
984
|
-
enabled: true # MUST be true
|
|
985
|
-
strict_mode: true # Require all 3 gates
|
|
986
|
-
|
|
987
|
-
gates:
|
|
988
|
-
tasks:
|
|
989
|
-
require_p1_complete: true
|
|
990
|
-
require_p2_complete: false
|
|
991
|
-
allow_scope_transfer: true
|
|
992
|
-
|
|
993
|
-
tests:
|
|
994
|
-
require_all_passing: true
|
|
995
|
-
min_coverage: 80
|
|
996
|
-
allow_skipped: false
|
|
997
|
-
|
|
998
|
-
documentation:
|
|
999
|
-
require_claude_md: true
|
|
1000
|
-
require_readme: true
|
|
1001
|
-
require_changelog: true
|
|
1002
|
-
allow_inline_only: false
|
|
1003
|
-
|
|
1004
|
-
scope_creep:
|
|
1005
|
-
detect: true
|
|
1006
|
-
max_additional_tasks: 10
|
|
1007
|
-
auto_transfer: true
|
|
1008
|
-
```
|
|
959
|
+
|
|
1009
960
|
|
|
1010
961
|
---
|
|
1011
962
|
|
package/src/commands/README.md
CHANGED
|
@@ -1,155 +1,157 @@
|
|
|
1
1
|
# SpecWeave Slash Commands
|
|
2
2
|
|
|
3
|
-
This directory contains all slash commands for SpecWeave
|
|
3
|
+
This directory contains all slash commands for SpecWeave.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Available Commands (v0.2.0)
|
|
6
6
|
|
|
7
|
-
SpecWeave
|
|
7
|
+
**IMPORTANT**: All SpecWeave commands are now namespaced with `specweave.` notation to avoid collisions in brownfield projects.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|--------------|-------|-------------|
|
|
11
|
-
| `/create-project` | `/init` | Initialize new SpecWeave project |
|
|
12
|
-
| `/create-increment` | `/pi` | Plan Product Increment (create new increment) |
|
|
13
|
-
| `/start-increment` | `/si` | Start working on increment |
|
|
14
|
-
| `/add-tasks` | `/at` | Add tasks to increment |
|
|
15
|
-
| `/validate-increment` | `/vi` | Validate increment quality |
|
|
16
|
-
| `/close-increment` | `/done` | Close completed increment |
|
|
17
|
-
| `/list-increments` | `/ls` | List all increments |
|
|
9
|
+
### Core Workflow Commands (Smart Workflow)
|
|
18
10
|
|
|
19
|
-
|
|
11
|
+
| Command | Shorthand via /specweave | Description |
|
|
12
|
+
|---------|--------------------------|-------------|
|
|
13
|
+
| `/specweave.increment` | `/specweave inc` | Plan increment (PM-led, auto-closes previous if ready) |
|
|
14
|
+
| `/specweave.inc` | `/specweave inc` | Alias for /specweave.increment |
|
|
15
|
+
| `/specweave.do` | `/specweave do` | Execute work (smart resume, hooks after every task) |
|
|
16
|
+
| `/specweave.next` | `/specweave next` | Smart transition (close + suggest next) |
|
|
17
|
+
| `/specweave.progress` | `/specweave progress` | Show status (task %, PM gates, next action) |
|
|
18
|
+
| `/specweave.validate` | `/specweave validate` | Validate quality (rule-based + optional LLM judge) |
|
|
19
|
+
| `/specweave.done` | `/specweave done` | Close explicitly (optional, /inc auto-closes) |
|
|
20
20
|
|
|
21
|
-
###
|
|
21
|
+
### Supporting Commands
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
23
|
+
| Command | Shorthand via /specweave | Description |
|
|
24
|
+
|---------|--------------------------|-------------|
|
|
25
|
+
| `/specweave.list-increments` | `/specweave list-increments` | List all increments with status and WIP tracking |
|
|
26
|
+
| `/specweave.sync-docs` | `/specweave sync-docs` | Review strategic docs vs implementation |
|
|
27
|
+
| `/specweave.sync-github` | `/specweave sync-github` | Sync increment to GitHub issues with granular control |
|
|
28
|
+
| `/specweave.sync-jira` | `/specweave sync-jira` | Sync increment to Jira epics/stories with granular control |
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
/create-increment "User authentication with OAuth"
|
|
32
|
-
/validate-increment 0001 --quality
|
|
33
|
-
/close-increment 0001
|
|
34
|
-
```
|
|
30
|
+
### Master Router Command
|
|
35
31
|
|
|
36
|
-
|
|
32
|
+
| Command | Description |
|
|
33
|
+
|---------|-------------|
|
|
34
|
+
| `/specweave` | Master router for all subcommands (use `/specweave <subcommand>`) |
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
- ✅ Active development (speed matters)
|
|
40
|
-
- ✅ Iterative workflow (creating/validating frequently)
|
|
41
|
-
- ✅ Command-line muscle memory
|
|
42
|
-
- ✅ Personal productivity
|
|
36
|
+
## Smart Workflow Features (v0.2.0)
|
|
43
37
|
|
|
44
|
-
**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
**What makes the workflow "smart"?**
|
|
39
|
+
|
|
40
|
+
1. ✅ **Auto-resume**: `/specweave do` automatically finds next incomplete task (no manual tracking)
|
|
41
|
+
2. ✅ **Auto-close**: `/specweave inc` auto-closes previous increment if PM gates pass (seamless)
|
|
42
|
+
3. ✅ **Suggest-not-force**: `/specweave inc` presents options if previous incomplete (user control)
|
|
43
|
+
4. ✅ **Progress visibility**: `/specweave progress` shows exactly where you are anytime
|
|
44
|
+
5. ✅ **Natural flow**: finish → start next without administrative overhead
|
|
50
45
|
|
|
51
46
|
## Typical Workflow
|
|
52
47
|
|
|
53
|
-
**
|
|
48
|
+
**Natural append-only workflow** (0001 → 0002 → 0003):
|
|
49
|
+
|
|
54
50
|
```bash
|
|
55
|
-
# 1. Initialize project
|
|
56
|
-
|
|
51
|
+
# 1. Initialize project (CLI, before any AI session)
|
|
52
|
+
npx specweave init my-saas
|
|
57
53
|
|
|
58
|
-
# 2. Plan
|
|
59
|
-
/
|
|
54
|
+
# 2. Plan your first increment (PM-led planning)
|
|
55
|
+
/specweave inc "AI-powered customer support chatbot"
|
|
56
|
+
# PM creates: spec.md + plan.md + tasks.md (auto-generated!) + tests.md
|
|
60
57
|
|
|
61
|
-
# 3.
|
|
62
|
-
/
|
|
58
|
+
# 3. Build it (smart resume)
|
|
59
|
+
/specweave do
|
|
60
|
+
# Auto-resumes from next incomplete task
|
|
61
|
+
# Hooks run after EVERY task completion
|
|
63
62
|
|
|
64
|
-
# 4.
|
|
65
|
-
/
|
|
66
|
-
/
|
|
63
|
+
# 4. Check progress anytime
|
|
64
|
+
/specweave progress
|
|
65
|
+
# Shows: 5/12 tasks (42%), next: T006, PM gates status
|
|
67
66
|
|
|
68
|
-
# 5.
|
|
69
|
-
/
|
|
67
|
+
# 5. Continue building
|
|
68
|
+
/specweave do
|
|
69
|
+
# Picks up where you left off automatically
|
|
70
70
|
|
|
71
|
-
# 6.
|
|
72
|
-
/
|
|
71
|
+
# 6. Start next feature (auto-closes previous!)
|
|
72
|
+
/specweave inc "real-time chat dashboard"
|
|
73
|
+
# Smart check:
|
|
74
|
+
# If 0001 complete (PM gates pass) → Auto-close, create 0002
|
|
75
|
+
# If 0001 incomplete → Present options (never forces)
|
|
73
76
|
|
|
74
|
-
# 7.
|
|
75
|
-
/
|
|
76
|
-
|
|
77
|
+
# 7. Keep building
|
|
78
|
+
/specweave do
|
|
79
|
+
# Auto-finds active increment 0002
|
|
77
80
|
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
# Same workflow with explicit commands
|
|
81
|
-
/create-project my-saas
|
|
82
|
-
/create-increment "User authentication"
|
|
83
|
-
/start-increment 0001
|
|
84
|
-
/add-tasks 0001 "Implement login endpoint"
|
|
85
|
-
/list-increments --status=in-progress
|
|
86
|
-
/validate-increment 0001 --quality
|
|
87
|
-
/close-increment 0001
|
|
81
|
+
# Repeat: /specweave inc → /specweave do → /specweave progress → ...
|
|
88
82
|
```
|
|
89
83
|
|
|
90
|
-
##
|
|
84
|
+
## Namespaced Commands (Brownfield Safety)
|
|
91
85
|
|
|
92
|
-
|
|
86
|
+
**Design decision**: All commands use `specweave.` notation for collision avoidance.
|
|
93
87
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
| `/start-increment` | `/si` | Start working on an increment (load context, create branch) |
|
|
99
|
-
| `/add-tasks` | `/at` | Add tasks to existing increment |
|
|
100
|
-
| `/validate-increment` | `/vi` | Validate increment (120 rules + optional LLM quality judge) |
|
|
101
|
-
| `/close-increment` | `/done` | Close increment with leftover task handling |
|
|
102
|
-
| `/list-increments` | `/ls` | List all increments with status and progress |
|
|
88
|
+
- ✅ No conflicts with existing project commands
|
|
89
|
+
- ✅ Clear ownership (framework vs. project commands)
|
|
90
|
+
- ✅ Use master router `/specweave` for convenience
|
|
91
|
+
- ✅ Brownfield projects can adopt SpecWeave without risk
|
|
103
92
|
|
|
104
|
-
|
|
93
|
+
**Most used workflow**:
|
|
94
|
+
```bash
|
|
95
|
+
/specweave inc "feature" # ← Create new increment
|
|
96
|
+
/specweave do # ← Execute work
|
|
97
|
+
/specweave progress # ← Check status
|
|
98
|
+
/specweave next # ← Smart transition to next work
|
|
99
|
+
```
|
|
105
100
|
|
|
106
|
-
|
|
107
|
-
|---------|-------|-------------|
|
|
108
|
-
| `/review-docs` | - | Review strategic docs vs implementation |
|
|
109
|
-
| `/generate-docs` | - | Generate documentation site (Docusaurus/MkDocs) |
|
|
101
|
+
## Command Design Philosophy
|
|
110
102
|
|
|
111
|
-
###
|
|
103
|
+
### 1. Natural Flow Without Overhead
|
|
112
104
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
105
|
+
**Problem with traditional workflows**:
|
|
106
|
+
- Manual task tracking ("which task am I on?")
|
|
107
|
+
- Manual closure ("do I need to close this?")
|
|
108
|
+
- Administrative overhead ("update project board")
|
|
116
109
|
|
|
117
|
-
|
|
110
|
+
**SpecWeave solution**:
|
|
111
|
+
- `/do` auto-resumes (no tracking needed)
|
|
112
|
+
- `/inc` auto-closes if ready (no manual /done needed)
|
|
113
|
+
- `/progress` shows status anytime (no board updates)
|
|
118
114
|
|
|
119
|
-
|
|
115
|
+
### 2. Suggest, Never Force
|
|
120
116
|
|
|
121
|
-
|
|
122
|
-
2. **Clear documentation** - Each alias explains what it references
|
|
123
|
-
3. **Consistent user experience** - Both commands work identically
|
|
124
|
-
4. **Easy maintenance** - Update main command, aliases stay in sync via reference
|
|
117
|
+
**Critical principle**: User always in control.
|
|
125
118
|
|
|
126
|
-
**
|
|
119
|
+
**Example**: When starting new increment while previous incomplete:
|
|
120
|
+
```
|
|
121
|
+
/inc "new feature"
|
|
127
122
|
|
|
128
|
-
|
|
123
|
+
📊 Checking previous increment 0001-authentication...
|
|
124
|
+
Status: in-progress
|
|
125
|
+
PM Gates: ❌ 2 P1 tasks remaining
|
|
129
126
|
|
|
130
|
-
|
|
127
|
+
❌ Cannot auto-close 0001 (incomplete)
|
|
131
128
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
description: Your custom command description
|
|
136
|
-
---
|
|
129
|
+
Options:
|
|
130
|
+
A) Complete 0001 first (recommended)
|
|
131
|
+
→ Finish remaining work before starting new
|
|
137
132
|
|
|
138
|
-
|
|
133
|
+
B) Move incomplete tasks to 0002
|
|
134
|
+
→ Transfer T006, T007 to new increment
|
|
135
|
+
→ Close 0001 as "completed with deferrals"
|
|
139
136
|
|
|
140
|
-
|
|
137
|
+
C) Cancel new increment
|
|
138
|
+
→ Stay on 0001, continue working
|
|
139
|
+
→ Retry /inc when ready
|
|
141
140
|
|
|
142
|
-
|
|
141
|
+
Your choice? _
|
|
143
142
|
```
|
|
144
143
|
|
|
145
|
-
**
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
**Never**: "Auto-closed 0001 with incomplete work" (surprising, loses context)
|
|
145
|
+
|
|
146
|
+
### 3. Progressive Disclosure
|
|
147
|
+
|
|
148
|
+
**Only show complexity when needed**:
|
|
149
|
+
- ✅ Happy path: `/inc` → Auto-close, create new (1 step)
|
|
150
|
+
- ⚠️ Issues found: Show options, explain, let user decide
|
|
149
151
|
|
|
150
152
|
## Installation
|
|
151
153
|
|
|
152
|
-
|
|
154
|
+
Commands are automatically installed when you:
|
|
153
155
|
- Run `specweave init` (new projects)
|
|
154
156
|
- Install SpecWeave as dependency (`npm install specweave --save-dev`)
|
|
155
157
|
|
|
@@ -158,16 +160,37 @@ For manual installation:
|
|
|
158
160
|
npm run install:commands
|
|
159
161
|
```
|
|
160
162
|
|
|
163
|
+
## Creating Custom Commands
|
|
164
|
+
|
|
165
|
+
You can create project-specific commands:
|
|
166
|
+
|
|
167
|
+
**1. Create `.claude/commands/custom.md`**:
|
|
168
|
+
```markdown
|
|
169
|
+
---
|
|
170
|
+
name: custom
|
|
171
|
+
description: Your custom command description
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
# Custom Command
|
|
175
|
+
|
|
176
|
+
[Your command implementation]
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**2. Use it**:
|
|
180
|
+
```bash
|
|
181
|
+
/custom
|
|
182
|
+
```
|
|
183
|
+
|
|
161
184
|
## Documentation
|
|
162
185
|
|
|
163
|
-
- **Command Reference**: See `.claude/commands/` for all
|
|
164
|
-
- **CLAUDE.md**: Quick reference table with all commands
|
|
186
|
+
- **Command Reference**: See `.claude/commands/` for all command implementations
|
|
187
|
+
- **CLAUDE.md**: Quick reference table with all commands
|
|
165
188
|
- **Official Docs**: https://spec-weave.com/docs/commands
|
|
166
189
|
|
|
167
190
|
---
|
|
168
191
|
|
|
169
|
-
**💡 Pro Tip**:
|
|
192
|
+
**💡 Pro Tip**: Master the smart workflow - natural append-only progression!
|
|
170
193
|
|
|
171
|
-
**
|
|
194
|
+
**Core cycle**: `/inc` (plan) → `/do` (implement) → `/progress` (check) → `/inc` (next)
|
|
172
195
|
|
|
173
|
-
**
|
|
196
|
+
**One alias to rule them all**: `/inc` (short for `/increment`)
|