# Repository Guidelines See @docs/guidance/*.md for file-type-specific conventions (auto-loaded by glob). ## 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 - `pnpm storybook`: Start Storybook development server ## Development Workflow 1. Make code changes 2. Run relevant tests 3. Run `pnpm typecheck`, `pnpm lint`, `pnpm format` 4. Check if README updates are needed 5. Suggest docs.comfy.org updates for user-facing changes ## Git Conventions - Use `prefix:` format: `feat:`, `fix:`, `test:` - Add "Fixes #n" to PR descriptions - Never mention Claude/AI in commits ## Coding Style & Naming Conventions - Language: - TypeScript (exclusive, no new JavaScript) - Vue 3 SFCs (`.vue`) - Composition API only - Tailwind 4 styling - Avoid `