Internationalization for the RomM frontend. Use whenever adding, renaming, or removing any user-visible string / translation key under frontend/src/locales/. Covers the en_US-is-source rule, the requirement to add every new key to ALL locale directories in…
Theming, design tokens, colors, and visual language in the RomM v2 frontend. Use when styling v2 components, picking colors, adding/using CSS variables, working with light/dark themes, or whenever you'd reach for a hex/rgba literal. Covers the token pipeline…
Building or modifying components in the RomM v2 frontend (frontend/src/). Use when creating/editing v2 primitives (R* components in src/lib/), shared composites, or feature composites. Covers the three-tier model, file/folder conventions, SFC structure,…
Work through the Greptile and Copilot review comments on a RomM PR. Triage each finding (valid, introduced by this PR, consistent with what the PR intends), fix the ones that hold up, then reply on every thread with the fix or the reason for declining and…
Universal input (mouse, touch, keyboard, gamepad) and responsive/universal-viewport layout in the RomM v2 frontend. Use when adding interactive v2 components, focus management, spatial navigation, gamepad/keyboard handling, modality-gated focus rings,…
Cross-cutting feature patterns for the RomM v2 frontend: error/snackbar handling, loading & skeleton states, real-time Socket.IO updates, UI state persistence (URL vs localStorage vs ephemeral), pagination/infinite scroll, forms & validation, permissions…
Read Greptile's synthesized knowledge base for this repository through the Greptile MCP (list_knowledge_bases, list_knowledge_base_documents, get_knowledge_base_document, search_knowledge_base). Use whenever you want context about the codebase, such as how a…
The before-review and before-handoff pass for RomM, covering both stacks. First shapes the code the checks can't see: comment and docstring discipline (the single most-corrected thing in this repo), duplicated constants/types/getters, imprecise names, loose…