docs: add implementation plan overview and Phase 1 detail

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-17 14:59:49 +02:00
parent 59dc3623fe
commit 80b5c6ed2e
2 changed files with 1419 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
# Kochwas — Implementation Plan Overview
**Goal:** Deliver the Kochwas MVP per the design spec in six phases, each ending in runnable, testable software.
**Reference:** `docs/superpowers/specs/2026-04-17-kochwas-design.md`
---
## Phase Map
| # | Name | Outcome | Plan file |
|---|------|---------|-----------|
| 1 | Foundations | Scaffolded SvelteKit app, SQLite schema with FTS5, Docker dev setup, pure-function modules (ingredient-parser, scaler, json-ld-extractor, iso8601) all unit-tested, `/api/health` endpoint | `2026-04-17-kochwas-phase-1-foundations.md` |
| 2 | Import Pipeline | Working recipe import from URL to DB incl. images, preview endpoint, profile CRUD, integration tests with real HTML fixtures | `2026-04-xx-kochwas-phase-2-import.md` |
| 3 | Core UI & Local Search | RecipeView component (mobile-first), Search page with FTS5 results, profile selector, rating/favorite/cooked actions | `2026-04-xx-kochwas-phase-3-ui.md` |
| 4 | Web Search & Admin | SearXNG integration, whitelist admin UI, preview-before-save flow, profile admin | `2026-04-xx-kochwas-phase-4-web-admin.md` |
| 5 | Advanced Features | Comments, tag editor, cooking-log view, print view, rename/delete, backup/restore ZIP | `2026-04-xx-kochwas-phase-5-advanced.md` |
| 6 | PWA & Polish | Service worker + offline, Wake-Lock, install prompt, mobile-UX polish, E2E tests, prod Docker image | `2026-04-xx-kochwas-phase-6-pwa.md` |
Each phase produces working software on its own. A phase is complete when all its tasks are checked off, tests pass, and a manual smoke-test on Docker Desktop succeeds.
## Sequencing Rule
Phases are strictly sequential. Do not start Phase N+1 before Phase N is green (tests + smoke test).
## Conventions (all phases)
- **Commits:** each task ends with a single atomic commit. Commit messages follow conventional-commits (`feat:`, `fix:`, `chore:`, `test:`, `docs:`, `refactor:`).
- **Line endings:** LF only (`.gitattributes` already in place).
- **Tests:** Vitest for unit/integration, Playwright for E2E. Every pure function gets a unit test first (TDD).
- **Code style:** Prettier + ESLint using SvelteKit defaults. No emojis in code unless requested.
- **Dev env:** Local Docker Desktop for the SearXNG container; the SvelteKit app runs via `npm run dev` for fast iteration. Production Docker image built in Phase 6.
- **TypeScript strict mode** on from the start. No `any` unless justified inline.

File diff suppressed because it is too large Load Diff