chore: complete v1.1 milestone — Fixes & Polish

Archive v1.1 artifacts (roadmap, requirements, phases) to milestones/.
Evolve PROJECT.md with shipped requirements and new key decisions.
Reorganize ROADMAP.md with collapsed milestone groupings.
Update retrospective with v1.1 lessons.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-15 18:16:27 +01:00
parent 414f2b726e
commit 407fa45280
27 changed files with 201 additions and 106 deletions

View File

@@ -14,27 +14,23 @@ Make it effortless to manage gear and plan new purchases — see how a potential
- ✓ Gear collection with item CRUD (name, weight, price, category, notes, product link) — v1.0
- ✓ Image uploads for gear items — v1.0
- ✓ User-defined categories with emoji and automatic weight/cost totals — v1.0
- ✓ User-defined categories with automatic weight/cost totals — v1.0
- ✓ Planning threads for purchase research with candidate products — v1.0
- ✓ Thread resolution: pick a winner, it moves to collection — v1.0
- ✓ Named setups (loadouts) composed from collection items — v1.0
- ✓ Live weight and cost totals per setup — v1.0
- ✓ Dashboard home page with summary cards — v1.0
- ✓ Onboarding wizard for first-time setup — v1.0
- ✓ Thread creation with category assignment via modal dialog — v1.1
- ✓ Planning tab with educational empty state and pill tab navigation — v1.1
- ✓ Image display on item detail views and gear cards with placeholders — v1.1
- ✓ Hero image upload area with preview and click-to-upload — v1.1
- ✓ Lucide icon picker for categories (119 curated icons, 8 groups) — v1.1
- ✓ Automatic emoji-to-Lucide icon migration for existing categories — v1.1
### Active
## Current Milestone: v1.1 Fixes & Polish
**Goal:** Fix broken functionality, improve image handling UX, and replace emoji categories with icon picker.
**Target features:**
- Fix thread creation (missing database table)
- Fix image display (uploaded but not rendering)
- Redesign image upload UX (image preview with placeholder icon)
- Display images on gear cards
- Improve planning tab empty state
- Replace emoji categories with Lucide icon picker
(No active milestone — use `/gsd:new-milestone` to start next)
### Future
@@ -61,8 +57,8 @@ Make it effortless to manage gear and plan new purchases — see how a potential
## Context
Shipped v1.0 MVP with 5,742 LOC TypeScript across 114 files.
Tech stack: React 19, Hono, Drizzle ORM, SQLite, TanStack Router/Query, Tailwind CSS v4, all on Bun.
Shipped v1.1 with 6,134 LOC TypeScript.
Tech stack: React 19, Hono, Drizzle ORM, SQLite, TanStack Router/Query, Tailwind CSS v4, Lucide React, all on Bun.
Primary use case is bikepacking gear but data model is hobby-agnostic.
Replaces spreadsheet-based gear tracking workflow.
@@ -89,10 +85,13 @@ Replaces spreadsheet-based gear tracking workflow.
| Tab navigation via URL params | Shareable URLs between gear/planning | ✓ Good |
| Setup item sync: delete-all + re-insert | Simpler than diffing, atomic in transaction | ✓ Good |
| Onboarding state in SQLite settings | Source of truth in DB, not Zustand | ✓ Good |
---
| Lucide Icons for categories | Best outdoor/gear icon coverage, tree-shakeable, clean style | — Pending |
| Stay with SQLite | Single-user app, no need for Postgres complexity | ✓ Good |
| Lucide Icons for categories | Best outdoor/gear icon coverage, tree-shakeable, clean style | ✓ Good |
| categoryId on threads (NOT NULL FK) | Every thread belongs to a category | ✓ Good |
| Modal dialog for thread creation | Cleaner UX, supports category selection | ✓ Good |
| Hero image area at top of forms | Image-first UX, 4:3 aspect ratio consistent with cards | ✓ Good |
| Emoji-to-icon automatic migration | One-time schema rename + data conversion via Drizzle migration | ✓ Good |
| ALTER TABLE RENAME COLUMN for SQLite | Simpler than table recreation for column rename | ✓ Good |
---
*Last updated: 2026-03-15 after v1.1 milestone start*
*Last updated: 2026-03-15 after v1.1 milestone completion*