# Repository Guidelines ## Project Structure & Module Organization - Source: `src/` - Vue 3.5+ - TypeScript - Tailwind 4 - Key areas: - `components/` - `views/` - `stores/` (Pinia) - `composables/` - `services/` - `utils/` - `assets/` - `locales/` - Routing: `src/router.ts`, - i18n: `src/i18n.ts`, - Entry Point: `src/main.ts`. - Tests: - unit/component in `tests-ui/` and `src/**/*.test.ts` - E2E (Playwright) in `browser_tests/**/*.spec.ts` - Public assets: `public/` - Build output: `dist/` - Configs - `vite.config.mts` - `vitest.config.ts` - `playwright.config.ts` - `eslint.config.ts` - `.prettierrc` - etc. ## Monorepo Architecture The project uses **Nx** for build orchestration and task management ## Build, Test, and Development Commands - `pnpm dev`: Start Vite dev server. - `pnpm dev:electron`: Dev server with Electron API mocks - `pnpm build`: Type-check then production build to `dist/` - `pnpm preview`: Preview the production build locally - `pnpm test:unit`: Run Vitest unit tests - `pnpm test:browser`: Run Playwright E2E tests (`browser_tests/`) - `pnpm lint` / `pnpm lint:fix`: Lint (ESLint) - `pnpm format` / `pnpm format:check`: Prettier - `pnpm typecheck`: Vue TSC type checking ## Coding Style & Naming Conventions - Language: - TypeScript (exclusive, no new JavaScript) - Vue 3 SFCs (`.vue`) - Composition API only - Tailwind 4 styling - Avoid `