- Archive roadmap, requirements, and audit to .planning/milestones/ - Update PROJECT.md with validated requirements and decisions - Reset STATE.md for next milestone cycle - Create MILESTONES.md for project history Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.9 KiB
4.9 KiB
Requirements: TaskPlanner v1.0
Defined: 2026-01-29 Shipped: 2026-02-01 Core Value: Capture and find anything from any device — especially laptop. If cross-device capture with images doesn't work, nothing else matters.
v1 Requirements (All Complete)
Core (6/6)
- CORE-01: User can create a new entry (task or thought)
- CORE-02: User can edit an existing entry
- CORE-03: User can delete an entry
- CORE-04: User can mark entry as task or thought when creating
- CORE-05: User can mark a task as complete
- CORE-06: User can add notes to an existing entry
Images (4/4)
- IMG-01: User can attach images to an entry via file upload
- IMG-02: User can attach images via camera capture (mobile)
- IMG-03: User can view attached images on an entry
- IMG-04: User can remove an image attachment
Tags (4/4)
- TAG-01: User can add tags to an entry
- TAG-02: User can remove tags from an entry
- TAG-03: User sees autocomplete suggestions from existing tags
- TAG-04: Tags are case-insensitive ("work" = "Work" = "WORK")
Organization (3/3)
- ORG-01: User can pin/favorite an entry for quick access
- ORG-02: User can set a due date on a task
- ORG-03: Pinned entries appear in a dedicated section
Search (4/4)
- SRCH-01: User can search entries by text (title and content)
- SRCH-02: User can filter entries by tag
- SRCH-03: User can filter entries by date range
- SRCH-04: User can filter to show only tasks or only thoughts
Capture (3/3)
- CAPT-01: User can quickly capture a new entry with minimal friction
- CAPT-02: Quick capture defaults to thought (less friction than choosing)
- CAPT-03: Quick capture is accessible from main view
UX (3/3)
- UX-01: UI works well on mobile devices (touch targets, layout)
- UX-02: Font sizes are readable for older eyes (configurable or large default)
- UX-03: UI works in any modern browser (Chrome, Firefox, Safari, Edge)
Deployment (4/4)
- DEPLOY-01: App runs in a Docker container
- DEPLOY-02: Configuration via environment variables
- DEPLOY-03: Data persists via named Docker volumes
- DEPLOY-04: Single docker-compose.yml for easy deployment
v2 Requirements (Deferred)
Polish
- POL-01: Dark mode with theme toggle
- POL-02: Keyboard shortcuts for common actions
- POL-03: Export entries to JSON/Markdown
- POL-04: Drag-and-drop reorder of entries
Advanced
- ADV-01: Markdown support in entry content
- ADV-02: Natural language date parsing ("tomorrow", "next Monday")
- ADV-03: Recurring tasks
- ADV-04: OCR text extraction from images
- ADV-05: Note linking with backlinks
- ADV-06: Offline support with sync
Out of Scope
| Feature | Reason |
|---|---|
| Real-time collaboration | Personal tool, single user — massive complexity for no value |
| Multi-user authentication | Single-user by design, no need for user management |
| AI-powered categorization | Over-engineering; manual tags are clearer and simpler |
| Complex folder hierarchies | Flat + tags is more flexible; nesting creates friction |
| Kanban boards | Overhead for personal tasks; simple list is enough |
| Multiple note types | Task/thought distinction is enough; more types complicate model |
| Social features | Out of scope for self-hosted personal app |
| Heavy WYSIWYG editor | Bloated and complex; plain text or defer to Markdown |
| Push notifications | Browser notifications are unreliable and annoying |
| Version history | Storage overhead; simple edit is fine for personal use |
| Mobile native app | Web-first; browser works on all devices |
Traceability
| Requirement | Phase | Status |
|---|---|---|
| CORE-01 | Phase 2 | Complete |
| CORE-02 | Phase 2 | Complete |
| CORE-03 | Phase 2 | Complete |
| CORE-04 | Phase 2 | Complete |
| CORE-05 | Phase 2 | Complete |
| CORE-06 | Phase 2 | Complete |
| IMG-01 | Phase 3 | Complete |
| IMG-02 | Phase 3 | Complete |
| IMG-03 | Phase 3 | Complete |
| IMG-04 | Phase 3 | Complete |
| TAG-01 | Phase 4 | Complete |
| TAG-02 | Phase 4 | Complete |
| TAG-03 | Phase 4 | Complete |
| TAG-04 | Phase 4 | Complete |
| ORG-01 | Phase 4 | Complete |
| ORG-02 | Phase 4 | Complete |
| ORG-03 | Phase 4 | Complete |
| SRCH-01 | Phase 5 | Complete |
| SRCH-02 | Phase 5 | Complete |
| SRCH-03 | Phase 5 | Complete |
| SRCH-04 | Phase 5 | Complete |
| CAPT-01 | Phase 2 | Complete |
| CAPT-02 | Phase 2 | Complete |
| CAPT-03 | Phase 2 | Complete |
| UX-01 | Phase 2 | Complete |
| UX-02 | Phase 2 | Complete |
| UX-03 | Phase 2 | Complete |
| DEPLOY-01 | Phase 6 | Complete |
| DEPLOY-02 | Phase 6 | Complete |
| DEPLOY-03 | Phase 6 | Complete |
| DEPLOY-04 | Phase 6 | Complete |
Coverage: 31/31 requirements complete
Archived: 2026-02-01 as part of v1.0 milestone completion