mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-26 10:59:53 +00:00
## Summary Updates AGENTS.md to be more universal and contributor-friendly by removing user-specific preferences. ## Changes - **What**: Refined AGENTS.md to remove individual preferences, one-time setup tasks, and conflicting i18n instructions ## Review Focus These updates make agent instructions work better for all contributors by: - Removing individual coding preferences in favor of project-wide standards - Eliminating one-time environment setup that clutters agent context - Removing i18n instructions that caused agents to make unwanted changes - Improving PR link formatting for better GitHub rendering ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5836-Generalize-AGENTS-md-for-all-contributors-27c6d73d365081e7acf6f37d9f8ceeaf) by [Unito](https://www.unito.io)
2.4 KiB
2.4 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/andsrc/components/**/*.{test,spec}.ts; E2E inbrowser_tests/. - Public assets:
public/. Build output:dist/. - Config:
vite.config.mts,vitest.config.ts,playwright.config.ts,eslint.config.js,.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 todist/.pnpm preview: Preview the production build locally.pnpm test:unit: Run Vitest unit tests (tests-ui/).pnpm test:component: Run component tests (src/components/).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 formatbefore 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); composablesuseXyz.ts; Pinia stores*Store.ts.
Testing Guidelines
- Frameworks: Vitest (unit/component, happy-dom) and Playwright (E2E).
- Test files:
**/*.{test,spec}.{ts,tsx,js}undertests-ui/,src/components/, andsrc/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,@2xare 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.