diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md new file mode 100644 index 0000000..083344b --- /dev/null +++ b/.planning/REQUIREMENTS.md @@ -0,0 +1,95 @@ +# Requirements: GearBox + +**Defined:** 2026-03-15 +**Core Value:** Make it effortless to manage gear and plan new purchases — see how a potential buy affects your total setup weight and cost before committing. + +## v1.1 Requirements + +Requirements for v1.1 Fixes & Polish. Each maps to roadmap phases. + +### Database + +- [ ] **DB-01**: Threads table exists in database (schema push creates all missing tables) + +### Images + +- [ ] **IMG-01**: User can see uploaded images displayed on item detail views +- [ ] **IMG-02**: User can see item images on gear collection cards +- [ ] **IMG-03**: User sees image preview area at top of item form with placeholder icon when no image is set +- [ ] **IMG-04**: User can upload an image by clicking the placeholder area + +### Planning + +- [ ] **PLAN-01**: User can create a new planning thread without errors +- [ ] **PLAN-02**: User sees a polished empty state when no threads exist (clear CTA to create first thread) + +### Categories + +- [ ] **CAT-01**: User can select a Lucide icon when creating/editing a category (icon picker) +- [ ] **CAT-02**: Category icons display as Lucide icons throughout the app (cards, headers, lists) +- [ ] **CAT-03**: Existing emoji categories are migrated to equivalent Lucide icons + +## Future Requirements + +Deferred from v1.0 Active list. Not in current roadmap. + +### Search & Filtering + +- **SRCH-01**: User can search items by name and filter by category + +### Thread Enhancements + +- **THRD-01**: User can compare candidates side-by-side on weight and price +- **THRD-02**: User can track candidate status (researching → ordered → arrived) +- **THRD-03**: User can rank/prioritize candidates within threads +- **THRD-04**: User can preview how a candidate affects setup weight/cost + +### Data Management + +- **DATA-01**: User can select weight units (g, oz, lb, kg) +- **DATA-02**: User can import/export gear collections via CSV + +### Visualization + +- **VIZ-01**: User can see weight distribution chart by category + +### Setup Enhancements + +- **SETUP-01**: User can classify items as base weight, worn, or consumable per setup + +## Out of Scope + +| Feature | Reason | +|---------|--------| +| PostgreSQL migration | SQLite sufficient for single-user app | +| Authentication / multi-user | Single user, no login needed | +| Custom comparison parameters | Complexity trap, weight/price covers 80% | +| Mobile native app | Web-first, responsive design sufficient | +| Social/sharing features | Different product | +| Price tracking / deal alerts | Requires scraping, fragile | + +## Traceability + +Which phases cover which requirements. Updated during roadmap creation. + +| Requirement | Phase | Status | +|-------------|-------|--------| +| DB-01 | — | Pending | +| IMG-01 | — | Pending | +| IMG-02 | — | Pending | +| IMG-03 | — | Pending | +| IMG-04 | — | Pending | +| PLAN-01 | — | Pending | +| PLAN-02 | — | Pending | +| CAT-01 | — | Pending | +| CAT-02 | — | Pending | +| CAT-03 | — | Pending | + +**Coverage:** +- v1.1 requirements: 10 total +- Mapped to phases: 0 +- Unmapped: 10 ⚠️ + +--- +*Requirements defined: 2026-03-15* +*Last updated: 2026-03-15 after initial definition*