Pointers for AI agents working in this repository.
A modern Miniflux RSS reader built with Nuxt 4, Tailwind CSS v4, and Nuxt UI 4. Client-only, offline-first PWA. See README.md for setup and the public feature list.
Two files at the repo root govern visual and strategic decisions. Read both before designing, restyling, or generating new screens.
- PRODUCT.md — strategic context: register (
product), users, purpose, brand personality, anti-references, design principles, accessibility posture. - DESIGN.md — visual system: OKLCH tokens, typography (Manrope chrome / Fraunces optional reader serif), elevation doctrine (flat, hairline borders, tonal layering), component primitives, do's and don'ts. Frontmatter is normative; prose contextualizes.
- DESIGN.json — sidecar with tonal ramps, motion tokens, breakpoints, and full HTML/CSS snippets for each documented component. Used by the impeccable live panel.
- Articles are the protagonist. Chrome earns its place against the reading surface.
- Power without intimidation. Keyboard, density, shortcuts exist but never crowd primary surfaces.
- Offline is not a fallback. Plane and fibre behave identically.
- Themes serve readers, not branding. Sepia, ocean, forest, solarized, gruvbox are lamps for the same desk.
- Calm in lieu of celebration. No streaks, no badges, no completion theatre.
- No
#fff/#000— every neutral is tinted toward hue 285-286° (default) or the active theme's hue. - No
box-shadowon any chrome primitive. Depth comes from tonal layering and 1px hairline borders. - No side-stripe borders (
border-left/border-right> 1px as colored accents). - No second saturated color in the default theme. Signal Green on the unread dot and starred bookmark is the entire color budget.
- No SaaS dashboard template (hero metric + identical card grids + gradient accents), no Feedly chrome (ads, recommendation rails, social CTAs), no Notion/Linear-clone density, no streaks/badges/confetti.
- No pill-shaped buttons. 4px max radius on UI; sharp corners on content (thumbnails, images, modal headers).
- No em dashes in user-facing copy.
The impeccable skill (/impeccable) reads PRODUCT.md and DESIGN.md before every design pass. Frequent commands:
/impeccable critique [target]— UX heuristic review./impeccable polish [target]— final quality pass./impeccable audit [target]— a11y, performance, responsive checks./impeccable live— visual-variant browser mode.
When in doubt about a visual decision, re-read DESIGN.md section 6 (Do's and Don'ts).
Existing AI conventions live under .github/instructions/ and .github/copilot-instructions.md (i18n keys, Vue component patterns, Pinia store style, project-wide conventions). Those override anything ambiguous here.