diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..bec672e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,45 @@ +# 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 `