Initialize project structure with foundational files including .gitignore, README, and specification templates. Establish project constitution outlining core principles for code quality, testing, user experience, and performance. Add initial feature specification for Reference Board Viewer application.
This commit is contained in:
@@ -1,104 +1,97 @@
|
||||
# Implementation Plan: [FEATURE]
|
||||
# Plan: [FEATURE_NAME]
|
||||
|
||||
**Branch**: `[###-feature-name]` | **Date**: [DATE] | **Spec**: [link]
|
||||
**Input**: Feature specification from `/specs/[###-feature-name]/spec.md`
|
||||
**Created:** [YYYY-MM-DD]
|
||||
**Status:** [Draft | Active | Completed | Obsolete]
|
||||
**Owner:** [OWNER_NAME]
|
||||
|
||||
**Note**: This template is filled in by the `/speckit.plan` command. See `.specify/templates/commands/plan.md` for the execution workflow.
|
||||
## Overview
|
||||
|
||||
## Summary
|
||||
Brief description of what this plan aims to achieve and why it's important.
|
||||
|
||||
[Extract from feature spec: primary requirement + technical approach from research]
|
||||
## Objectives
|
||||
|
||||
## Technical Context
|
||||
- [ ] Primary objective 1
|
||||
- [ ] Primary objective 2
|
||||
- [ ] Primary objective 3
|
||||
|
||||
<!--
|
||||
ACTION REQUIRED: Replace the content in this section with the technical details
|
||||
for the project. The structure here is presented in advisory capacity to guide
|
||||
the iteration process.
|
||||
-->
|
||||
## Constitution Alignment Check
|
||||
|
||||
**Language/Version**: [e.g., Python 3.11, Swift 5.9, Rust 1.75 or NEEDS CLARIFICATION]
|
||||
**Primary Dependencies**: [e.g., FastAPI, UIKit, LLVM or NEEDS CLARIFICATION]
|
||||
**Storage**: [if applicable, e.g., PostgreSQL, CoreData, files or N/A]
|
||||
**Testing**: [e.g., pytest, XCTest, cargo test or NEEDS CLARIFICATION]
|
||||
**Target Platform**: [e.g., Linux server, iOS 15+, WASM or NEEDS CLARIFICATION]
|
||||
**Project Type**: [single/web/mobile - determines source structure]
|
||||
**Performance Goals**: [domain-specific, e.g., 1000 req/s, 10k lines/sec, 60 fps or NEEDS CLARIFICATION]
|
||||
**Constraints**: [domain-specific, e.g., <200ms p95, <100MB memory, offline-capable or NEEDS CLARIFICATION]
|
||||
**Scale/Scope**: [domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION]
|
||||
Before proceeding, verify alignment with constitutional principles:
|
||||
|
||||
## Constitution Check
|
||||
- **Code Quality & Maintainability:** How will this maintain/improve code quality?
|
||||
- [ ] Design follows single responsibility principle
|
||||
- [ ] Clear module boundaries defined
|
||||
- [ ] Dependencies justified and documented
|
||||
|
||||
- **Testing Discipline:** What testing strategy will ensure correctness?
|
||||
- [ ] Unit test coverage plan (≥80%)
|
||||
- [ ] Integration test scenarios identified
|
||||
- [ ] Edge cases documented
|
||||
|
||||
- **User Experience Consistency:** How does this impact users?
|
||||
- [ ] UI/API changes follow existing patterns
|
||||
- [ ] Error handling is user-friendly
|
||||
- [ ] Documentation plan complete
|
||||
|
||||
- **Performance & Efficiency:** What are the performance implications?
|
||||
- [ ] Performance budget established
|
||||
- [ ] Algorithmic complexity analyzed
|
||||
- [ ] Resource usage estimated
|
||||
|
||||
*GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.*
|
||||
## Scope
|
||||
|
||||
[Gates determined based on constitution file]
|
||||
### In Scope
|
||||
- What will be built/changed
|
||||
- Explicit boundaries
|
||||
|
||||
## Project Structure
|
||||
### Out of Scope
|
||||
- What will NOT be addressed
|
||||
- Deferred items for future work
|
||||
|
||||
### Documentation (this feature)
|
||||
## Technical Approach
|
||||
|
||||
```text
|
||||
specs/[###-feature]/
|
||||
├── plan.md # This file (/speckit.plan command output)
|
||||
├── research.md # Phase 0 output (/speckit.plan command)
|
||||
├── data-model.md # Phase 1 output (/speckit.plan command)
|
||||
├── quickstart.md # Phase 1 output (/speckit.plan command)
|
||||
├── contracts/ # Phase 1 output (/speckit.plan command)
|
||||
└── tasks.md # Phase 2 output (/speckit.tasks command - NOT created by /speckit.plan)
|
||||
```
|
||||
High-level technical strategy and architectural decisions.
|
||||
|
||||
### Source Code (repository root)
|
||||
<!--
|
||||
ACTION REQUIRED: Replace the placeholder tree below with the concrete layout
|
||||
for this feature. Delete unused options and expand the chosen structure with
|
||||
real paths (e.g., apps/admin, packages/something). The delivered plan must
|
||||
not include Option labels.
|
||||
-->
|
||||
### Key Components
|
||||
1. Component A: Purpose and responsibilities
|
||||
2. Component B: Purpose and responsibilities
|
||||
3. Component C: Purpose and responsibilities
|
||||
|
||||
```text
|
||||
# [REMOVE IF UNUSED] Option 1: Single project (DEFAULT)
|
||||
src/
|
||||
├── models/
|
||||
├── services/
|
||||
├── cli/
|
||||
└── lib/
|
||||
### Dependencies
|
||||
- Internal dependencies (other modules/services)
|
||||
- External dependencies (libraries, APIs, services)
|
||||
|
||||
tests/
|
||||
├── contract/
|
||||
├── integration/
|
||||
└── unit/
|
||||
### Risks & Mitigations
|
||||
| Risk | Impact | Probability | Mitigation Strategy |
|
||||
|------|--------|-------------|---------------------|
|
||||
| Risk 1 | High/Med/Low | High/Med/Low | How we'll address it |
|
||||
|
||||
# [REMOVE IF UNUSED] Option 2: Web application (when "frontend" + "backend" detected)
|
||||
backend/
|
||||
├── src/
|
||||
│ ├── models/
|
||||
│ ├── services/
|
||||
│ └── api/
|
||||
└── tests/
|
||||
## Implementation Phases
|
||||
|
||||
frontend/
|
||||
├── src/
|
||||
│ ├── components/
|
||||
│ ├── pages/
|
||||
│ └── services/
|
||||
└── tests/
|
||||
### Phase 1: [Name] (Est: X days)
|
||||
- Milestone 1
|
||||
- Milestone 2
|
||||
|
||||
# [REMOVE IF UNUSED] Option 3: Mobile + API (when "iOS/Android" detected)
|
||||
api/
|
||||
└── [same as backend above]
|
||||
### Phase 2: [Name] (Est: X days)
|
||||
- Milestone 3
|
||||
- Milestone 4
|
||||
|
||||
ios/ or android/
|
||||
└── [platform-specific structure: feature modules, UI flows, platform tests]
|
||||
```
|
||||
## Success Criteria
|
||||
|
||||
**Structure Decision**: [Document the selected structure and reference the real
|
||||
directories captured above]
|
||||
Clear, measurable criteria for completion:
|
||||
- [ ] All tests passing with ≥80% coverage
|
||||
- [ ] Performance benchmarks met
|
||||
- [ ] Documentation complete
|
||||
- [ ] Code review approved
|
||||
- [ ] Production deployment successful
|
||||
|
||||
## Complexity Tracking
|
||||
## Open Questions
|
||||
|
||||
> **Fill ONLY if Constitution Check has violations that must be justified**
|
||||
- [ ] Question 1 that needs resolution
|
||||
- [ ] Question 2 that needs research
|
||||
|
||||
| Violation | Why Needed | Simpler Alternative Rejected Because |
|
||||
|-----------|------------|-------------------------------------|
|
||||
| [e.g., 4th project] | [current need] | [why 3 projects insufficient] |
|
||||
| [e.g., Repository pattern] | [specific problem] | [why direct DB access insufficient] |
|
||||
## References
|
||||
|
||||
- Link to specs
|
||||
- Related plans
|
||||
- External documentation
|
||||
|
||||
Reference in New Issue
Block a user