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.
- package/bin/specweave.js +14 -0
- package/dist/src/cli/commands/get.d.ts +21 -0
- package/dist/src/cli/commands/get.d.ts.map +1 -0
- package/dist/src/cli/commands/get.js +148 -0
- package/dist/src/cli/commands/get.js.map +1 -0
- package/dist/src/cli/commands/plan/agent-invoker.d.ts +4 -4
- package/dist/src/cli/commands/plan/agent-invoker.d.ts.map +1 -1
- package/dist/src/cli/commands/plan/agent-invoker.js +7 -7
- package/dist/src/cli/commands/plan/agent-invoker.js.map +1 -1
- package/dist/src/cli/commands/plan/plan-orchestrator.js +1 -1
- package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
- package/dist/src/cli/helpers/get/clone-repo.d.ts +23 -0
- package/dist/src/cli/helpers/get/clone-repo.d.ts.map +1 -0
- package/dist/src/cli/helpers/get/clone-repo.js +52 -0
- package/dist/src/cli/helpers/get/clone-repo.js.map +1 -0
- package/dist/src/cli/helpers/get/register-repo.d.ts +21 -0
- package/dist/src/cli/helpers/get/register-repo.d.ts.map +1 -0
- package/dist/src/cli/helpers/get/register-repo.js +61 -0
- package/dist/src/cli/helpers/get/register-repo.js.map +1 -0
- package/dist/src/cli/helpers/get/source-parser.d.ts +28 -0
- package/dist/src/cli/helpers/get/source-parser.d.ts.map +1 -0
- package/dist/src/cli/helpers/get/source-parser.js +97 -0
- package/dist/src/cli/helpers/get/source-parser.js.map +1 -0
- package/dist/src/core/hooks/LifecycleHookDispatcher.js +1 -1
- package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
- package/dist/src/core/increment/spec-sync-manager.js +1 -1
- package/dist/src/core/workflow/cost-estimator.d.ts +1 -1
- package/dist/src/core/workflow/cost-estimator.js +1 -1
- package/package.json +1 -1
- package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +1 -1
- package/plugins/SKILLS-VS-AGENTS.md +1 -3
- package/plugins/specweave/PLUGIN.md +0 -3
- package/plugins/specweave/agents/sw-planner.md +40 -4
- package/plugins/specweave/hooks/.specweave/logs/auto-iterations.log +1 -0
- package/plugins/specweave/hooks/.specweave/logs/auto-stop-reasons.log +1 -0
- package/plugins/specweave/hooks/v2/guards/skill-chain-enforcement-guard.sh +4 -4
- package/plugins/specweave/skills/.specweave/logs/reflect/auto-reflect.log +15 -0
- package/plugins/specweave/skills/.specweave/logs/reflect/reflect.log +3 -0
- package/plugins/specweave/skills/.specweave/logs/stop-auto.log +1 -0
- package/plugins/specweave/skills/done/SKILL.md +6 -7
- package/plugins/specweave/skills/get/SKILL.md +80 -0
- package/plugins/specweave/skills/increment/SKILL.md +1 -1
- package/plugins/specweave/skills/plan/SKILL.md +3 -3
- package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +180 -0
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +1266 -0
- package/plugins/specweave-github/lib/enhanced-github-sync.js +249 -0
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +150 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +1260 -0
- package/src/templates/AGENTS.md.template +2 -2
- package/src/templates/CLAUDE.md.template +1 -1
- package/plugins/specweave/commands/docs-updater.md +0 -66
- package/plugins/specweave/skills/docs-updater/SKILL.md +0 -84
- package/plugins/specweave/skills/spec-generator/SKILL.md +0 -92
- 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:
|
|
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:
|
|
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:
|
|
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
|
-
|