Files
ComfyUI_frontend/AGENTS.md
Alexander Brown 9f0fa7202d Docs: Update agent instructions about style classes (#5990)
## Summary

Very small change to help the LLMs follow the new patterns.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5990-Docs-Update-agent-instructions-about-style-classes-2876d73d365081339dbddf22d22947e7)
by [Unito](https://www.unito.io)
2025-10-08 18:59:36 -07:00

2.3 KiB

Repository Guidelines

Project Structure & Module Organization

  • Source: src/ (Vue 3 + TypeScript). Key areas: components/, views/, stores/ (Pinia), composables/, services/, utils/, assets/, locales/.
  • Routing/i18n/entry: src/router.ts, src/i18n.ts, src/main.ts.
  • Tests: unit/component in tests-ui/ and src/components/**/*.{test,spec}.ts; E2E in browser_tests/.
  • Public assets: public/. Build output: dist/.
  • Config: vite.config.mts, vitest.config.ts, playwright.config.ts, eslint.config.ts, .prettierrc.

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 / format:check: Prettier.
  • pnpm typecheck: Vue TSC type checking.

Coding Style & Naming Conventions

  • Language: TypeScript, Vue SFCs (.vue). Indent 2 spaces; single quotes; no semicolons; width 80 (see .prettierrc).
  • Imports: sorted/grouped by plugin; run pnpm format before committing.
  • ESLint: Vue + TS rules; no floating promises; unused imports disallowed; i18n raw text restrictions in templates.
  • Naming: Vue components in PascalCase (e.g., MenuHamburger.vue); composables useXyz.ts; Pinia stores *Store.ts.

Testing Guidelines

  • Frameworks: Vitest (unit/component, happy-dom) and Playwright (E2E).
  • Test files: **/*.{test,spec}.{ts,tsx,js} under tests-ui/, src/components/, and src/lib/litegraph/test/.
  • Coverage: text/json/html reporters enabled; aim to cover critical logic and new features.
  • Playwright: place tests in browser_tests/; optional tags like @mobile, @2x are respected by config.

Commit & Pull Request Guidelines

  • Commits: Use [skip ci] for locale-only updates when appropriate.
  • PRs: Include clear description, linked issues (- Fixes #123), and screenshots/GIFs for UI changes.
  • Quality gates: pnpm lint, pnpm typecheck, and relevant tests must pass. Keep PRs focused and small.

Security & Configuration Tips

  • Secrets: Use .env (see .env_example); do not commit secrets.