- pnpm 10 workspace + TypeScript strict + ESLint flat + Prettier - CLAUDE.md as canonical brief - docs/tasks/ — 22 task briefs broken out by phase for sub-sessions - docs/decisions/ — ADR scaffold Implements task 01 (repo-init).
29 lines
921 B
Markdown
29 lines
921 B
Markdown
# 50 — Manifest, icons, install prompt
|
|
|
|
## Goal
|
|
|
|
Make famapp installable as a PWA on iOS and Android.
|
|
|
|
## Depends on
|
|
|
|
- 02
|
|
|
|
## Scope
|
|
|
|
- `public/manifest.webmanifest` with name, short_name, theme_color, background_color, display: `standalone`, start_url `/`.
|
|
- App icons (192, 384, 512, maskable). Source SVG committed; export script in `scripts/`.
|
|
- `apple-touch-icon` link in root layout.
|
|
- Service worker registration (next-pwa or hand-rolled — prefer hand-rolled to avoid coupling to a library that lags Next.js releases).
|
|
- Install prompt: a small banner on first visit on supported browsers, dismissible.
|
|
|
|
## Out of scope
|
|
|
|
- Offline caching (task 51).
|
|
- Background sync.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [ ] Lighthouse "Installable" check passes.
|
|
- [ ] Installing on iOS 16.4+ home screen produces a standalone window with no Safari chrome.
|
|
- [ ] App icon shows correctly on Android home screen with maskable variant.
|