|
| 1 | +# Implementation Plan: [FEATURE] |
| 2 | + |
| 3 | +**Branch**: `[###-feature-name]` | **Date**: [DATE] | **Spec**: [link] |
| 4 | +**Input**: Feature specification from `/specs/[###-feature-name]/spec.md` |
| 5 | + |
| 6 | +**Note**: This template is filled in by the `/speckit.plan` command. See `.specify/templates/commands/plan.md` for the execution workflow. |
| 7 | + |
| 8 | +## Summary |
| 9 | + |
| 10 | +[Extract from feature spec: primary requirement + technical approach from research] |
| 11 | + |
| 12 | +## Technical Context |
| 13 | + |
| 14 | +<!-- |
| 15 | + ACTION REQUIRED: Replace the content in this section with the technical details |
| 16 | + for the project. The structure here is presented in advisory capacity to guide |
| 17 | + the iteration process. |
| 18 | +--> |
| 19 | + |
| 20 | +**Language/Version**: [e.g., Python 3.11, Swift 5.9, Rust 1.75 or NEEDS CLARIFICATION] |
| 21 | +**Primary Dependencies**: [e.g., FastAPI, UIKit, LLVM or NEEDS CLARIFICATION] |
| 22 | +**Storage**: [if applicable, e.g., PostgreSQL, CoreData, files or N/A] |
| 23 | +**Testing**: [e.g., pytest, XCTest, cargo test or NEEDS CLARIFICATION] |
| 24 | +**Target Platform**: [e.g., Linux server, iOS 15+, WASM or NEEDS CLARIFICATION] |
| 25 | +**Project Type**: [single/web/mobile - determines source structure] |
| 26 | +**Performance Goals**: [domain-specific, e.g., 1000 req/s, 10k lines/sec, 60 fps or NEEDS CLARIFICATION] |
| 27 | +**Constraints**: [domain-specific, e.g., <200ms p95, <100MB memory, offline-capable or NEEDS CLARIFICATION] |
| 28 | +**Scale/Scope**: [domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION] |
| 29 | + |
| 30 | +## Constitution Check |
| 31 | + |
| 32 | +*GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.* |
| 33 | + |
| 34 | +[Gates determined based on constitution file] |
| 35 | + |
| 36 | +## Project Structure |
| 37 | + |
| 38 | +### Documentation (this feature) |
| 39 | + |
| 40 | +```text |
| 41 | +specs/[###-feature]/ |
| 42 | +├── plan.md # This file (/speckit.plan command output) |
| 43 | +├── research.md # Phase 0 output (/speckit.plan command) |
| 44 | +├── data-model.md # Phase 1 output (/speckit.plan command) |
| 45 | +├── quickstart.md # Phase 1 output (/speckit.plan command) |
| 46 | +├── contracts/ # Phase 1 output (/speckit.plan command) |
| 47 | +└── tasks.md # Phase 2 output (/speckit.tasks command - NOT created by /speckit.plan) |
| 48 | +``` |
| 49 | + |
| 50 | +### Source Code (repository root) |
| 51 | +<!-- |
| 52 | + ACTION REQUIRED: Replace the placeholder tree below with the concrete layout |
| 53 | + for this feature. Delete unused options and expand the chosen structure with |
| 54 | + real paths (e.g., apps/admin, packages/something). The delivered plan must |
| 55 | + not include Option labels. |
| 56 | +--> |
| 57 | + |
| 58 | +```text |
| 59 | +# [REMOVE IF UNUSED] Option 1: Single project (DEFAULT) |
| 60 | +src/ |
| 61 | +├── models/ |
| 62 | +├── services/ |
| 63 | +├── cli/ |
| 64 | +└── lib/ |
| 65 | +
|
| 66 | +tests/ |
| 67 | +├── contract/ |
| 68 | +├── integration/ |
| 69 | +└── unit/ |
| 70 | +
|
| 71 | +# [REMOVE IF UNUSED] Option 2: Web application (when "frontend" + "backend" detected) |
| 72 | +backend/ |
| 73 | +├── src/ |
| 74 | +│ ├── models/ |
| 75 | +│ ├── services/ |
| 76 | +│ └── api/ |
| 77 | +└── tests/ |
| 78 | +
|
| 79 | +frontend/ |
| 80 | +├── src/ |
| 81 | +│ ├── components/ |
| 82 | +│ ├── pages/ |
| 83 | +│ └── services/ |
| 84 | +└── tests/ |
| 85 | +
|
| 86 | +# [REMOVE IF UNUSED] Option 3: Mobile + API (when "iOS/Android" detected) |
| 87 | +api/ |
| 88 | +└── [same as backend above] |
| 89 | +
|
| 90 | +ios/ or android/ |
| 91 | +└── [platform-specific structure: feature modules, UI flows, platform tests] |
| 92 | +``` |
| 93 | + |
| 94 | +**Structure Decision**: [Document the selected structure and reference the real |
| 95 | +directories captured above] |
| 96 | + |
| 97 | +## Complexity Tracking |
| 98 | + |
| 99 | +> **Fill ONLY if Constitution Check has violations that must be justified** |
| 100 | +
|
| 101 | +| Violation | Why Needed | Simpler Alternative Rejected Because | |
| 102 | +|-----------|------------|-------------------------------------| |
| 103 | +| [e.g., 4th project] | [current need] | [why 3 projects insufficient] | |
| 104 | +| [e.g., Repository pattern] | [specific problem] | [why direct DB access insufficient] | |
0 commit comments