diff --git a/AGENTS.md b/AGENTS.md index 9938865a9..b66d33e57 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,308 +1,45 @@ -# Repository Guidelines +# ComfyUI Frontend -See @docs/guidance/*.md for file-type-specific conventions (auto-loaded by glob). +Vue 3.5+ / TypeScript / Tailwind 4 frontend for ComfyUI. Uses Nx monorepo with pnpm. -## Project Structure & Module Organization +## Commands -- 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` - - `playwright.config.ts` - - `eslint.config.ts` - - `.oxfmtrc.json` - - `.oxlintrc.json` - - etc. +```bash +pnpm dev # Vite dev server +pnpm build # Type-check + production build +pnpm typecheck # Vue TSC +pnpm lint # ESLint +pnpm format # oxfmt +pnpm test:unit # Vitest +pnpm test:browser # Playwright E2E +pnpm knip # Dead code detection +``` -## Monorepo Architecture +## Project Structure -The project uses **Nx** for build orchestration and task management +- `src/` — Main application (components, views, stores, composables, services, utils) +- `browser_tests/` — Playwright E2E tests (`*.spec.ts`) +- `packages/` — Shared packages (design-system, etc.) +- `docs/guidance/` — File-type conventions (auto-loaded by glob) +- `docs/testing/` — Testing patterns and examples -## Build, Test, and Development Commands +## Key Conventions -- `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`: oxfmt -- `pnpm typecheck`: Vue TSC type checking -- `pnpm storybook`: Start Storybook development server +See `docs/guidance/*.md` for file-specific rules. Quick reference: -## Development Workflow +- **Vue**: Composition API only, `