# Repository Guidelines ## Project Structure & Module Organization The application lives in `frontend/`; run Node and npm commands there. Vue source is under `frontend/src/`: - `components/` contains the canvas editor, toolbar, settings, lists, and export UI. - `views/` owns page-level layout; `stores/mosaic.ts` is the primary Pinia state and workflow coordinator. - `utils/` contains framework-light color conversion, flood fill, RLE masks, persistence, and export logic. - `types/` defines shared TypeScript models; `composables/` contains viewport behavior. - `assets/` is for bundled assets, while `public/` contains favicons and static files copied unchanged. Repository documentation is in `README.md`; screenshots belong in `doc/`. Generated `frontend/dist/` and root `dist/` outputs are not source files. ## Build, Test, and Development Commands From `frontend/`: ```bash npm install # install dependencies npm run dev # start the Vite development server npm run type-check # run vue-tsc npm run lint # run Oxlint and ESLint with automatic fixes npm run format # format src/ with Prettier npm run build # type-check and create frontend/dist/ npm run preview # serve the production build locally ``` Node.js must satisfy `^22.18.0 || >=24.12.0`. The root `build.bat` creates the deployable root `dist/` on Windows. ## Coding Style & Naming Conventions Use Vue 3 Composition API and `