specweave 1.0.443 → 1.0.445

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.
Files changed (55) hide show
  1. package/bin/specweave.js +14 -0
  2. package/dist/src/cli/commands/get.d.ts +21 -0
  3. package/dist/src/cli/commands/get.d.ts.map +1 -0
  4. package/dist/src/cli/commands/get.js +148 -0
  5. package/dist/src/cli/commands/get.js.map +1 -0
  6. package/dist/src/cli/commands/plan/agent-invoker.d.ts +4 -4
  7. package/dist/src/cli/commands/plan/agent-invoker.d.ts.map +1 -1
  8. package/dist/src/cli/commands/plan/agent-invoker.js +7 -7
  9. package/dist/src/cli/commands/plan/agent-invoker.js.map +1 -1
  10. package/dist/src/cli/commands/plan/plan-orchestrator.js +1 -1
  11. package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
  12. package/dist/src/cli/helpers/get/clone-repo.d.ts +23 -0
  13. package/dist/src/cli/helpers/get/clone-repo.d.ts.map +1 -0
  14. package/dist/src/cli/helpers/get/clone-repo.js +52 -0
  15. package/dist/src/cli/helpers/get/clone-repo.js.map +1 -0
  16. package/dist/src/cli/helpers/get/register-repo.d.ts +21 -0
  17. package/dist/src/cli/helpers/get/register-repo.d.ts.map +1 -0
  18. package/dist/src/cli/helpers/get/register-repo.js +61 -0
  19. package/dist/src/cli/helpers/get/register-repo.js.map +1 -0
  20. package/dist/src/cli/helpers/get/source-parser.d.ts +28 -0
  21. package/dist/src/cli/helpers/get/source-parser.d.ts.map +1 -0
  22. package/dist/src/cli/helpers/get/source-parser.js +97 -0
  23. package/dist/src/cli/helpers/get/source-parser.js.map +1 -0
  24. package/dist/src/core/hooks/LifecycleHookDispatcher.js +1 -1
  25. package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
  26. package/dist/src/core/increment/spec-sync-manager.js +1 -1
  27. package/dist/src/core/workflow/cost-estimator.d.ts +1 -1
  28. package/dist/src/core/workflow/cost-estimator.js +1 -1
  29. package/package.json +1 -1
  30. package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +1 -1
  31. package/plugins/SKILLS-VS-AGENTS.md +1 -3
  32. package/plugins/specweave/PLUGIN.md +0 -3
  33. package/plugins/specweave/agents/sw-planner.md +40 -4
  34. package/plugins/specweave/hooks/.specweave/logs/auto-iterations.log +1 -0
  35. package/plugins/specweave/hooks/.specweave/logs/auto-stop-reasons.log +1 -0
  36. package/plugins/specweave/hooks/v2/guards/skill-chain-enforcement-guard.sh +4 -4
  37. package/plugins/specweave/skills/.specweave/logs/reflect/auto-reflect.log +15 -0
  38. package/plugins/specweave/skills/.specweave/logs/reflect/reflect.log +3 -0
  39. package/plugins/specweave/skills/.specweave/logs/stop-auto.log +1 -0
  40. package/plugins/specweave/skills/done/SKILL.md +6 -7
  41. package/plugins/specweave/skills/get/SKILL.md +80 -0
  42. package/plugins/specweave/skills/increment/SKILL.md +1 -1
  43. package/plugins/specweave/skills/plan/SKILL.md +3 -3
  44. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
  45. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +180 -0
  46. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +1266 -0
  47. package/plugins/specweave-github/lib/enhanced-github-sync.js +249 -0
  48. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +150 -0
  49. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +1260 -0
  50. package/src/templates/AGENTS.md.template +2 -2
  51. package/src/templates/CLAUDE.md.template +1 -1
  52. package/plugins/specweave/commands/docs-updater.md +0 -66
  53. package/plugins/specweave/skills/docs-updater/SKILL.md +0 -84
  54. package/plugins/specweave/skills/spec-generator/SKILL.md +0 -92
  55. package/plugins/specweave/skills/test-aware-planner/SKILL.md +0 -117
@@ -126,7 +126,7 @@ Good: npm run build → node script.js → Success
126
126
 
127
127
  ### Test Before Ship
128
128
  - Tests pass at every step — unit after each task, E2E before close, no exceptions
129
- - `/sw:test-aware-planner` generates BDD test plans during design — verify they exist before `/sw:do`
129
+ - `/sw:increment` generates BDD test plans during design via the sw-planner agent — verify they exist before `/sw:do`
130
130
  - TDD cycle: `/sw:tdd-red` → `/sw:tdd-green` → `/sw:tdd-refactor`
131
131
  - E2E with Playwright CLI (`npx playwright test`) is a blocking closure gate
132
132
  <!-- /SECTION -->
@@ -378,7 +378,7 @@ specweave context projects
378
378
  5. Create `tasks.md` (task checklist with BDD tests)
379
379
  6. Optional: `plan.md` for complex features
380
380
  7. **Verify** tasks.md has `**Test Plan**:` for every task with testable ACs
381
- 8. **Verify** E2E scenarios exist for user-facing user stories — re-run `/sw:test-aware-planner` if missing
381
+ 8. **Verify** E2E scenarios exist for user-facing user stories — re-run `/sw:plan --force` if missing
382
382
 
383
383
  ### Completing Tasks
384
384
  1. Implement the task
@@ -221,7 +221,7 @@ Primary: `/sw:progress-sync`. Individual: `/sw-github:push`, `/sw-github:close`.
221
221
  **Testing is a pipeline step, not an afterthought.**
222
222
 
223
223
  ### During Design (`/sw:increment`)
224
- - `/sw:test-aware-planner` generates tasks.md with BDD test plans (Given/When/Then) for every AC
224
+ - `/sw:increment` generates tasks.md with BDD test plans (Given/When/Then) for every AC via the sw-planner agent
225
225
  - Every task MUST have a `**Test Plan**:` block before implementation begins
226
226
  - E2E test scenarios MUST be specified for user-facing features
227
227
 
@@ -1,66 +0,0 @@
1
- ---
2
- description: "DEPRECATED: Use /sw:docs-updater skill instead. Living documentation updater that syncs implementation progress to product docs."
3
- user-invocable: false
4
- ---
5
-
6
- # Documentation Updater
7
-
8
- ## Project Overrides
9
-
10
- !`s="docs-updater"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null; true`
11
-
12
- Updates product documentation (.specweave/docs/) based on implementation progress.
13
-
14
- ## When to Use
15
-
16
- - Task specifies documentation updates in tasks.md
17
- - Feature implementation is complete
18
- - User says "update documentation" or "sync docs"
19
- - After closing increment to ensure docs reflect reality
20
-
21
- ## What It Does
22
-
23
- 1. **Reads task requirements** - Understands what was implemented from tasks.md
24
- 2. **Updates living docs** - Modifies `.specweave/docs/` files with actual implementation
25
- 3. **Status tracking** - Changes `[DRAFT]` → `[COMPLETE]` on doc sections
26
- 4. **Bidirectional links** - Maintains links between docs and increments
27
- 5. **Format adaptation** - Matches existing doc structure (features/ or modules/)
28
-
29
- ## Workflow
30
-
31
- ```
32
- 1. Read tasks.md → Find documentation tasks
33
- 2. Read implementation → Understand what changed
34
- 3. Update docs → Add real code examples, endpoints, configs
35
- 4. Mark complete → Change [DRAFT] to [COMPLETE]
36
- 5. Verify links → Ensure increment → doc references work
37
- ```
38
-
39
- ## Example
40
-
41
- **tasks.md says:**
42
- ```markdown
43
- **Documentation Updates**:
44
- - [ ] .specweave/docs/features/payment.md [DRAFT]
45
- - [ ] .specweave/docs/api/payments.md [DRAFT]
46
- ```
47
-
48
- **docs-updater does:**
49
- 1. Reads payment implementation code
50
- 2. Updates `payment.md` with actual code examples
51
- 3. Updates API docs with real endpoints discovered in code
52
- 4. Changes status to `[COMPLETE]`
53
-
54
- ## Integration Points
55
-
56
- - **Called by**: spec-generator, task completion hooks
57
- - **Updates**: `.specweave/docs/**/*.md`
58
- - **Reads**: `tasks.md`, implementation code
59
-
60
- ## Best Practices
61
-
62
- - Run after completing feature tasks, not during
63
- - Verify doc links are valid (use relative paths)
64
- - Keep examples in sync with actual code
65
- - Don't over-document - focus on what users need
66
-
@@ -1,84 +0,0 @@
1
- ---
2
- description: Living documentation updater that syncs implementation progress to product docs. Use when updating docs after task completion, changing DRAFT status to published, or ensuring documentation reflects current implementation state.
3
- argument-hint: "[increment-id]"
4
- ---
5
-
6
- # Documentation Updater
7
-
8
- ## Project Overrides
9
-
10
- !`s="docs-updater"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null; true`
11
-
12
- Updates living documentation (.specweave/docs/) based on implementation progress after task completion or increment closure.
13
-
14
- ## When to Use
15
-
16
- - After closing an increment to ensure docs reflect reality (called by `/sw:done` Step 10b)
17
- - Task specifies documentation updates in tasks.md
18
- - Feature implementation is complete
19
- - User says "update documentation" or "update docs links"
20
-
21
- ## Workflow
22
-
23
- ### Step 1: Detect Context
24
-
25
- 1. If increment ID is provided, load `spec.md`, `tasks.md`, and `metadata.json`
26
- 2. Detect project ID from config: `.specweave/config.json` → `project.name`
27
- 3. Locate living docs: `.specweave/docs/internal/`
28
-
29
- ### Step 2: Verify Feature Specs Exist
30
-
31
- 1. Check `.specweave/docs/internal/specs/{project}/` for FS-XXX folders
32
- 2. For each folder, verify `FEATURE.md` and `us-*.md` files exist
33
- 3. If NO feature specs found and increment exists:
34
- - Run: `specweave sync-living-docs <increment-id>` to create them
35
- - Verify again after sync
36
- 4. Report: "Found N feature specs in {project}/"
37
-
38
- ### Step 3: Update Cross-References in Existing Docs
39
-
40
- Scan `.specweave/docs/internal/` for docs that should reference the feature specs:
41
-
42
- 1. **FEATURE-CATALOG.md** (in `enterprise/`): Add entries for spec-based features with links to `specs/{project}/FS-XXX/FEATURE.md`
43
- 2. **FEATURE-TO-CODE.md** (in `relationships/`): Add mappings from spec features to code features
44
- 3. **Module docs** (in `modules/`): Add "Related Specs" links where modules correspond to feature areas
45
- 4. **Project specs README** (`specs/{project}/README.md`): Update feature listing with links to each FS-XXX
46
-
47
- For each doc update:
48
- - Read existing content
49
- - Add or update `## Related Specs` or `## Feature Specs` section
50
- - Use relative markdown links: `[FS-001](../specs/{project}/FS-001/FEATURE.md)`
51
- - Preserve existing content, only add/update the cross-reference sections
52
-
53
- ### Step 4: Update Status Markers
54
-
55
- 1. Scan docs for `[DRAFT]` markers on sections that correspond to completed ACs
56
- 2. Change `[DRAFT]` → `[COMPLETE]` for sections matching completed acceptance criteria
57
- 3. Report: "Updated N status markers from DRAFT to COMPLETE"
58
-
59
- ### Step 5: Verify Bidirectional Links
60
-
61
- Validate that links work in both directions:
62
-
63
- 1. **Increment → Feature Spec**: spec.md references should resolve to `specs/{project}/FS-XXX/`
64
- 2. **Feature Spec → Living Docs**: FEATURE.md links to modules, architecture, etc.
65
- 3. **Living Docs → Feature Spec**: Module docs, catalogs link back to specs
66
- 4. Report broken links with suggested fixes
67
-
68
- ### Step 6: Summary Report
69
-
70
- Display results:
71
-
72
- ```
73
- Docs Update Summary:
74
- - Feature specs verified: N
75
- - Cross-references updated: M files
76
- - Status markers updated: K (DRAFT → COMPLETE)
77
- - Broken links found: L (see details above)
78
- ```
79
-
80
- ## Integration Points
81
-
82
- - **Called by**: `/sw:done` (Step 10b), task completion hooks, spec-generator
83
- - **Updates**: `.specweave/docs/**/*.md`
84
- - **Reads**: `tasks.md`, `spec.md`, implementation code, feature specs
@@ -1,92 +0,0 @@
1
- ---
2
- description: Generates comprehensive specifications (spec.md, plan.md, tasks.md with embedded tests) for SpecWeave increments. Use when creating new increments, planning features, or converting ideas into actionable specs. Produces structured documentation with proven templates and context-aware organization.
3
- ---
4
-
5
- # Spec Generator - Flexible Increment Documentation
6
-
7
- **Purpose**: Generate spec.md, plan.md, tasks.md with embedded tests for SpecWeave increments.
8
-
9
- **When to Use**: Creating increments (`/sw:inc`), planning features, converting ideas into specs.
10
-
11
- ---
12
-
13
- ## MANDATORY STEP 0: Get Project Context FIRST
14
-
15
- **This step is BLOCKING — do not proceed until you have actual project/board IDs.**
16
-
17
- 1. **Run**: `specweave context projects`
18
- 2. **Parse** the JSON output for project IDs and (if 2-level) board IDs
19
- 3. **Resolve** each user story to correct project using this priority:
20
- - EXACT MATCH from config → use it
21
- - LIVING DOCS folder match → use it
22
- - RECENT PATTERNS in past increments → use same
23
- - UNCERTAIN → ASK USER (never guess!)
24
- - FALLBACK → use "default" (never "specweave")
25
-
26
- **VALIDATION**: Every US MUST have `**Project**:` field with resolved value. Never use placeholders.
27
-
28
- ---
29
-
30
- ## 1. Spec Generation (spec.md)
31
-
32
- **Adapts to Context**: New Product (full PRD) | Feature Addition (focused stories) | Bug Fix (problem-solution) | Refactoring (current-proposed)
33
-
34
- **YAML Frontmatter**:
35
- ```yaml
36
- ---
37
- increment: 0001-feature-name
38
- title: "Feature Title"
39
- type: feature
40
- priority: P1
41
- status: planned
42
- created: 2025-12-04
43
- ---
44
- ```
45
-
46
- **Core Sections**: Executive Summary, Problem Statement, User Stories & Acceptance Criteria, Success Metrics, Non-Goals.
47
-
48
- **Per-US Format**:
49
- ```markdown
50
- ### US-001: [Title]
51
- **Project**: [MANDATORY - resolved from Step 0]
52
- **Board**: [MANDATORY for 2-level only]
53
-
54
- **As a** [user type]
55
- **I want** [goal]
56
- **So that** [benefit]
57
-
58
- **Acceptance Criteria**:
59
- - [ ] **AC-US1-01**: [Criterion]
60
- ```
61
-
62
- **Flexible Sections** (auto-include by context): Competitive Analysis, Technical Requirements, API Design, UI/UX, Security, Migration Plan.
63
-
64
- ## 2. Technical Plan (plan.md)
65
-
66
- Core sections: Architecture Overview, Component Architecture, Data Models, Implementation Strategy (phased), Testing Strategy, Deployment Plan, Risks & Mitigations.
67
-
68
- ## 3. Task Breakdown (tasks.md)
69
-
70
- ```markdown
71
- ### T-001: [Task Title]
72
- **User Story**: US-001 | **Satisfies ACs**: AC-US1-01
73
- **Status**: [ ] Not Started
74
- **Test**: Given [X] → When [Y] → Then [Z]
75
- ```
76
-
77
- ## Multi-Project User Story Generation
78
-
79
- When multi-project mode detected (config `multiProject.enabled`, multiple `specs/` folders, or user mentions multiple repos):
80
-
81
- - Group user stories by project (FE/BE/SHARED/MOBILE/INFRA)
82
- - Use prefixed IDs: `US-FE-001`, `AC-FE-US1-01`
83
- - Each US specifies `**Project**:` inline
84
- - Tasks reference project-scoped story IDs
85
-
86
- | Keywords | Project |
87
- |----------|---------|
88
- | UI, component, page, form, view | Frontend |
89
- | API, endpoint, CRUD, webhook, service | Backend |
90
- | types, schemas, validators, utilities | Shared |
91
- | iOS, Android, mobile, push notification | Mobile |
92
- | Terraform, K8s, Docker, CI/CD | Infrastructure |
@@ -1,117 +0,0 @@
1
- ---
2
- description: Generate tasks.md with embedded test plans in BDD format, one user story at a time to prevent crashes. Use for test-first task planning where each task includes Given/When/Then scenarios. Produces implementation tasks with inline test specifications.
3
- context: fork
4
- model: sonnet
5
- ---
6
-
7
- # Test-Aware Planner Skill
8
-
9
- ## STEP 0: Register Skill Chain Marker (MANDATORY - DO THIS FIRST)
10
-
11
- **Before any other work**, register your invocation so the skill-chain-enforcement-guard allows tasks.md writes.
12
-
13
- Extract the increment ID from your args (e.g., "Generate tasks for increment 0323-feature-name ...").
14
- Then write the marker file:
15
-
16
- ```bash
17
- mkdir -p .specweave/state
18
- STATE_FILE=".specweave/state/skill-chain-XXXX-name.json"
19
- if [ -f "$STATE_FILE" ]; then
20
- jq '.planner_invoked=true | .planner_invoked_at="'$(date -Iseconds)'"' "$STATE_FILE" > "${STATE_FILE}.tmp" && mv "${STATE_FILE}.tmp" "$STATE_FILE"
21
- else
22
- echo '{"planner_invoked":true,"planner_invoked_at":"'$(date -Iseconds)'"}' > "$STATE_FILE"
23
- fi
24
- ```
25
-
26
- Replace `XXXX-name` with the actual increment ID. **This unblocks the guard for tasks.md writes.**
27
-
28
- **If you skip this step, your Write to tasks.md will be BLOCKED by the PreToolUse guard.**
29
-
30
- ## Overview
31
-
32
- You generate `tasks.md` with embedded test plans for each task. No separate tests.md - tests are inline with tasks.
33
-
34
- ## Core Principles
35
-
36
- 1. **ONE user story per response** - Never generate all tasks at once
37
- 2. **Embedded tests** - Test plans inline with tasks
38
- 3. **AC coverage** - Every AC-ID must be covered
39
-
40
- ## Quick Reference
41
-
42
- ### Task Format
43
-
44
- ```markdown
45
- ## User Story: US-001 - Title
46
-
47
- **Linked ACs**: AC-US1-01, AC-US1-02
48
- **Tasks**: X total, 0 completed
49
-
50
- ### T-001: Task Title
51
-
52
- **User Story**: US-001
53
- **Satisfies ACs**: AC-US1-01
54
- **Status**: [ ] pending
55
-
56
- **Test Plan**:
57
- - **Given** precondition
58
- - **When** action
59
- - **Then** expected result
60
-
61
- **Test Cases**:
62
- 1. **Unit**: `tests/unit/feature.test.ts`
63
- - testFeatureSuccess(): Description
64
- - **Coverage Target**: 90%
65
-
66
- 2. **Integration**: `tests/integration/flow.test.ts`
67
- - testFullFlow(): Description
68
- - **Coverage Target**: 85%
69
-
70
- **Implementation**:
71
- 1. Create file
72
- 2. Implement function
73
- 3. Run tests
74
- ```
75
-
76
- ### Coverage Targets
77
-
78
- | Code Type | Target |
79
- |-----------|--------|
80
- | Core logic | 90-95% |
81
- | API endpoints | 85-90% |
82
- | Utilities | 80-85% |
83
- | Overall | 80-90% |
84
-
85
- ### Multi-Project Format
86
-
87
- If umbrella.enabled in config:
88
- ```markdown
89
- ## Phase 1: Shared (sw-app-shared)
90
-
91
- ### User Story: US-SHARED-001 - Types
92
- **Linked ACs**: AC-SHARED-US1-01
93
- ```
94
-
95
- ## Workflow
96
-
97
- 1. **Analysis** (< 500 tokens): List user stories, ask which first
98
- 2. **Generate ONE US tasks** (< 800 tokens): Write to tasks.md
99
- 3. **Report progress**: "US-001 complete. Ready for US-002?"
100
- 4. **Repeat**: One user story at a time
101
-
102
- ## Token Budget
103
-
104
- - **Analysis**: 300-500 tokens
105
- - **Each user story**: 600-800 tokens
106
-
107
- **NEVER exceed 2000 tokens per response!**
108
-
109
- ## Validation Checklist
110
-
111
- - [ ] All AC-IDs from spec.md covered
112
- - [ ] Each testable task has Given/When/Then
113
- - [ ] Coverage targets are 80-90%
114
- - [ ] Tasks grouped by User Story
115
- - [ ] Frontmatter has by_user_story map
116
-
117
-