# AGENTS GUIDE This repository is a Vue 2 + Vite SPA with Element UI. Keep changes small, follow existing patterns, and avoid refactors during fixes. ## Quick Facts - Framework: Vue 2.6 (Options API) - Build tool: Vite 5 - UI: Element UI 2 - Router: Vue Router 3 - Node: 22.x (see package.json) - No automated tests currently ## Commands (local) - Install: `yarn install` - Dev server: `yarn dev` - Build: `yarn build` - Preview build: `yarn preview` - Lint: `yarn lint` ## Single-Test / Focused Runs - There is no test runner configured (no Jest/Vitest scripts). - If you add tests later, document the single-test command here. ## CI / Workflows - Build on push to `master` and `dev`: `.github/workflows/build.yml` runs `yarn install` + `yarn build`. - Docker build+push on `master`: `.github/workflows/docker-build-push.yml`. ## Repository Layout - `src/main.js`: app bootstrap, plugin setup, Vue mount - `src/router/index.js`: router (history mode) - `src/views/Subconverter.vue`: main screen - `src/components/`: UI components - `src/composables/`: shared logic - `src/services/`: API adapters - `src/utils/`: utility helpers - `src/config/`: env-backed constants and option lists - `src/icons/svg`: SVG sprite inputs - `services/`: docker compose stack ## Code Style (Observed + ESLint) - Indentation: 2 spaces - Quotes: single quotes are preferred in most files - Semicolons: not used (`semi: 0`) - Vue component names: single-word allowed (`vue/multi-word-component-names: off`) - Console/debugger: forbidden in production (`no-console`, `no-debugger`) ## Imports & Modules - Use ES modules (`import`/`export`). - Prefer absolute alias `@` for `src/` (see `vite.config.js`). - Keep import groups readable: core libs, local config/utils, services, components. - Dynamic import only used for route lazy-load. ## Vue Patterns - Options API is used across components. - Component file structure: `