1-
21# Implementation Plan: [ FEATURE]
32
43** Branch** : ` [###-feature-name] ` | ** Date** : [ DATE] | ** Spec** : [ link]
54** Input** : Feature specification from ` /specs/[###-feature-name]/spec.md `
65
76## Execution Flow (/plan command scope)
7+
88```
991. Load feature spec from Input path
1010 → If not found: ERROR "No feature spec at {path}"
2727```
2828
2929** IMPORTANT** : The /plan command STOPS at step 7. Phases 2-4 are executed by other commands:
30+
3031- Phase 2: /tasks command creates tasks.md
3132- Phase 3-4: Implementation execution (manual or via tools)
3233
3334## Summary
35+
3436[ Extract from feature spec: primary requirement + technical approach from research]
3537
3638## Technical Context
39+
3740** Language/Version** : [ e.g., Python 3.11, Swift 5.9, Rust 1.75 or NEEDS CLARIFICATION]
3841** Primary Dependencies** : [ e.g., FastAPI, UIKit, LLVM or NEEDS CLARIFICATION]
3942** Storage** : [ if applicable, e.g., PostgreSQL, CoreData, files or N/A]
4548** Scale/Scope** : [ domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION]
4649
4750## Constitution Check
51+
4852* GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.*
4953
5054### I. Workflow-First Design (NON-NEGOTIABLE)
55+
5156- [ ] Feature is implemented as reusable GitHub Actions workflow(s)
5257- [ ] Workflows have clearly defined inputs and outputs
5358- [ ] Workflows follow single responsibility principle
5863- [ ] Actions referenced by specific versions/tags
5964
6065### II. Test-Driven Development (NON-NEGOTIABLE)
66+
6167- [ ] Tests will be written before implementation
6268- [ ] Initial tests will fail (Red phase documented)
6369- [ ] Implementation plan includes making tests pass (Green phase)
6773- [ ] CI validation workflow tests included
6874
6975### III. Platform Independence with Modern PowerShell
76+
7077- [ ] PowerShell 7.4+ constructs used exclusively
7178- [ ] Matrix testing across Linux, macOS, Windows included
7279- [ ] Platform-specific behaviors documented
7380- [ ] Skip mechanisms justified if platform-specific tests needed
7481- [ ] No backward compatibility with PowerShell 5.1 required
7582
7683### IV. Quality Gates and Observability
84+
7785- [ ] Test results captured in structured JSON format
7886- [ ] Code coverage measurement included
7987- [ ] Linting results captured and enforced
8290- [ ] Debug mode support included
8391
8492### V. Continuous Delivery with Semantic Versioning
93+
8594- [ ] Version bump strategy documented (labels, SemVer)
8695- [ ] Release automation compatible with existing workflow
8796- [ ] Documentation updates included
9099## Project Structure
91100
92101### Documentation (this feature)
102+
93103```
94104specs/[###-feature]/
95105├── plan.md # This file (/plan command output)
@@ -101,12 +111,14 @@ specs/[###-feature]/
101111```
102112
103113### Source Code (repository root)
114+
104115<!--
105116 ACTION REQUIRED: Replace the placeholder tree below with the concrete layout
106117 for this feature. Delete unused options and expand the chosen structure with
107118 real paths (e.g., apps/admin, packages/something). The delivered plan must
108119 not include Option labels.
109120-->
121+
110122```
111123# [REMOVE IF UNUSED] Option 1: Single project (DEFAULT)
112124src/
@@ -147,19 +159,18 @@ ios/ or android/
147159directories captured above]
148160
149161## Phase 0: Outline & Research
162+
1501631 . ** Extract unknowns from Technical Context** above:
151164 - For each NEEDS CLARIFICATION → research task
152165 - For each dependency → best practices task
153166 - For each integration → patterns task
154-
1551672 . ** Generate and dispatch research agents** :
156168 ```
157169 For each unknown in Technical Context:
158170 Task: "Research {unknown} for {feature context}"
159171 For each technology choice:
160172 Task: "Find best practices for {tech} in {domain}"
161173 ```
162-
1631743 . ** Consolidate findings** in ` research.md ` using format:
164175 - Decision: [ what was chosen]
165176 - Rationale: [ why chosen]
@@ -168,27 +179,24 @@ directories captured above]
168179** Output** : research.md with all NEEDS CLARIFICATION resolved
169180
170181## Phase 1: Design & Contracts
182+
171183* Prerequisites: research.md complete*
172184
1731851 . ** Extract entities from feature spec** → ` data-model.md ` :
174186 - Entity name, fields, relationships
175187 - Validation rules from requirements
176188 - State transitions if applicable
177-
1781892 . ** Generate API contracts** from functional requirements:
179190 - For each user action → endpoint
180191 - Use standard REST/GraphQL patterns
181192 - Output OpenAPI/GraphQL schema to ` /contracts/ `
182-
1831933 . ** Generate contract tests** from contracts:
184194 - One test file per endpoint
185195 - Assert request/response schemas
186196 - Tests must fail (no implementation yet)
187-
1881974 . ** Extract test scenarios** from user stories:
189198 - Each story → integration test scenario
190199 - Quickstart test = story validation steps
191-
1922005 . ** Update agent file incrementally** (O(1) operation):
193201 - Run ` .specify/scripts/powershell/update-agent-context.ps1 -AgentType copilot `
194202 ** IMPORTANT** : Execute it exactly as specified above. Do not add or remove any arguments.
@@ -201,9 +209,11 @@ directories captured above]
201209** Output** : data-model.md, /contracts/* , failing tests, quickstart.md, agent-specific file
202210
203211## Phase 2: Task Planning Approach
212+
204213* This section describes what the /tasks command will do - DO NOT execute during /plan*
205214
206215** Task Generation Strategy** :
216+
207217- Load ` .specify/templates/tasks-template.md ` as base
208218- Generate tasks from Phase 1 design docs (contracts, data model, quickstart)
209219- Each contract → contract test task [ P]
@@ -212,6 +222,7 @@ directories captured above]
212222- Implementation tasks to make tests pass
213223
214224** Ordering Strategy** :
225+
215226- TDD order: Tests before implementation
216227- Dependency order: Models before services before UI
217228- Mark [ P] for parallel execution (independent files)
@@ -221,25 +232,28 @@ directories captured above]
221232** IMPORTANT** : This phase is executed by the /tasks command, NOT by /plan
222233
223234## Phase 3+: Future Implementation
235+
224236* These phases are beyond the scope of the /plan command*
225237
226238** Phase 3** : Task execution (/tasks command creates tasks.md)
227239** Phase 4** : Implementation (execute tasks.md following constitutional principles)
228240** Phase 5** : Validation (run tests, execute quickstart.md, performance validation)
229241
230242## Complexity Tracking
243+
231244* Fill ONLY if Constitution Check has violations that must be justified*
232245
233246| Violation | Why Needed | Simpler Alternative Rejected Because |
234247| -----------| ------------| -------------------------------------|
235248| [ e.g., 4th project] | [ current need] | [ why 3 projects insufficient] |
236249| [ e.g., Repository pattern] | [ specific problem] | [ why direct DB access insufficient] |
237250
238-
239251## Progress Tracking
252+
240253* This checklist is updated during execution flow*
241254
242255** Phase Status** :
256+
243257- [ ] Phase 0: Research complete (/plan command)
244258- [ ] Phase 1: Design complete (/plan command)
245259- [ ] Phase 2: Task planning complete (/plan command - describe approach only)
@@ -248,6 +262,7 @@ directories captured above]
248262- [ ] Phase 5: Validation passed
249263
250264** Gate Status** :
265+
251266- [ ] Initial Constitution Check: PASS
252267- [ ] Post-Design Constitution Check: PASS
253268- [ ] All NEEDS CLARIFICATION resolved
0 commit comments