{"owner":"vendurehq","repo":"vendure","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# Vendure\n\nHeadless e-commerce framework. Lerna monorepo with fixed versioning.\n\n## Development Workflow\n\n1. Make changes to a package\n2. Build it (or `bun run watch` for continuous)\n3. Update `packages/dev-server/dev-config.ts` if needed\n4. Restart dev server\n5. Run e2e tests from the package dir\n\n- When editing `@vendure/core`, you usually need to watch `@vendure/common` too: `bun run watch:core-common`\n- The dev-server imports packages via TypeScript paths, so rebuilds are picked up on restart\n- Switch DB with env var: `DB=postgres` or `DB=sqlite` before `bun run populate`\n\n## Testing\n\n- **E2E cache**: Seed data gets cached in `packages/<name>/e2e/__data__/`. **Delete to reset after schema changes.**\n\n### Dashboard E2E Tests\n\nWhen adding a new test, **always check existing suites first** before creating a new file:\n\n- `catalog/product-list.spec.ts` — product list behaviour (sorting, column settings, filtering)\n- `catalog/products.spec.ts` — product detail page\n- `catalog/custom-fields.spec.ts` — custom field rendering, editing, persistence\n- `sales/orders.spec.ts` — draft orders, order detail, order modification\n- `tests/regression/` — **only** for tests that genuinely don't fit any existing suite\n\nAdd a comment referencing the issue number above the test, e.g.:\n```ts\n// #4393 — product list should default to sorting by updatedAt descending\ntest('should apply descending updatedAt sort by default', async ({ page }) => {\n```\n\nRun dashboard e2e tests from `packages/dashboard`:\n```bash\nCI=true VITE_TEST_PORT=5176 bunx playwright test --config e2e/playwright.config.ts <test-path> --reporter=list\n```\n\n## Commits & Branches\n\n- Include `Fixes #ISSUE_NUMBER` in body, or `Relates to #ISSUE_NUMBER` if not a full fix\n- `master` — bug fixes (default PR target)\n- `minor` — new features\n- `major` — breaking changes\n\n## Gotchas\n\n- **Dashboard stale build**: `packages/dev-server/dist/` accumulates stale Vite build artifacts across branch switches. Vite doesn't clean old hashed files, so old chunks can interfere (e.g. overwriting `window.schemaInfo`). Always `rm -rf packages/dev-server/dist` before rebuilding. Build with `bunx vite build --base /dashboard/ --outDir ../dev-server/dist` from `packages/dashboard/`. Also check no stale Vite dev server is running on port 5173 — `DashboardPlugin` auto-proxies to it instead of serving static files.\n"},"files":{"AGENTS.md":"# Vendure\n\nHeadless e-commerce framework. Lerna monorepo with fixed versioning.\n\n## Development Workflow\n\n1. Make changes to a package\n2. Build it (or `bun run watch` for continuous)\n3. Update `packages/dev-server/dev-config.ts` if needed\n4. Restart dev server\n5. Run e2e tests from the package dir\n\n- When editing `@vendure/core`, you usually need to watch `@vendure/common` too: `bun run watch:core-common`\n- The dev-server imports packages via TypeScript paths, so rebuilds are picked up on restart\n- Switch DB with env var: `DB=postgres` or `DB=sqlite` before `bun run populate`\n\n## Testing\n\n- **E2E cache**: Seed data gets cached in `packages/<name>/e2e/__data__/`. **Delete to reset after schema changes.**\n\n### Dashboard E2E Tests\n\nWhen adding a new test, **always check existing suites first** before creating a new file:\n\n- `catalog/product-list.spec.ts` — product list behaviour (sorting, column settings, filtering)\n- `catalog/products.spec.ts` — product detail page\n- `catalog/custom-fields.spec.ts` — custom field rendering, editing, persistence\n- `sales/orders.spec.ts` — draft orders, order detail, order modification\n- `tests/regression/` — **only** for tests that genuinely don't fit any existing suite\n\nAdd a comment referencing the issue number above the test, e.g.:\n```ts\n// #4393 — product list should default to sorting by updatedAt descending\ntest('should apply descending updatedAt sort by default', async ({ page }) => {\n```\n\nRun dashboard e2e tests from `packages/dashboard`:\n```bash\nCI=true VITE_TEST_PORT=5176 bunx playwright test --config e2e/playwright.config.ts <test-path> --reporter=list\n```\n\n## Commits & Branches\n\n- Include `Fixes #ISSUE_NUMBER` in body, or `Relates to #ISSUE_NUMBER` if not a full fix\n- `master` — bug fixes (default PR target)\n- `minor` — new features\n- `major` — breaking changes\n\n## Gotchas\n\n- **Dashboard stale build**: `packages/dev-server/dist/` accumulates stale Vite build artifacts across branch switches. Vite doesn't clean old hashed files, so old chunks can interfere (e.g. overwriting `window.schemaInfo`). Always `rm -rf packages/dev-server/dist` before rebuilding. Build with `bunx vite build --base /dashboard/ --outDir ../dev-server/dist` from `packages/dashboard/`. Also check no stale Vite dev server is running on port 5173 — `DashboardPlugin` auto-proxies to it instead of serving static files.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# Vendure\n\nHeadless e-commerce framework. Lerna monorepo with fixed versioning.\n\n## Development Workflow\n\n1. Make changes to a package\n2. Build it (or `bun run watch` for continuous)\n3. Update `packages/dev-server/dev-config.ts` if needed\n4. Restart dev server\n5. Run e2e tests from the package dir\n\n- When editing `@vendure/core`, you usually need to watch `@vendure/common` too: `bun run watch:core-common`\n- The dev-server imports packages via TypeScript paths, so rebuilds are picked up on restart\n- Switch DB with env var: `DB=postgres` or `DB=sqlite` before `bun run populate`\n\n## Testing\n\n- **E2E cache**: Seed data gets cached in `packages/<name>/e2e/__data__/`. **Delete to reset after schema changes.**\n\n### Dashboard E2E Tests\n\nWhen adding a new test, **always check existing suites first** before creating a new file:\n\n- `catalog/product-list.spec.ts` — product list behaviour (sorting, column settings, filtering)\n- `catalog/products.spec.ts` — product detail page\n- `catalog/custom-fields.spec.ts` — custom field rendering, editing, persistence\n- `sales/orders.spec.ts` — draft orders, order detail, order modification\n- `tests/regression/` — **only** for tests that genuinely don't fit any existing suite\n\nAdd a comment referencing the issue number above the test, e.g.:\n```ts\n// #4393 — product list should default to sorting by updatedAt descending\ntest('should apply descending updatedAt sort by default', async ({ page }) => {\n```\n\nRun dashboard e2e tests from `packages/dashboard`:\n```bash\nCI=true VITE_TEST_PORT=5176 bunx playwright test --config e2e/playwright.config.ts <test-path> --reporter=list\n```\n\n## Commits & Branches\n\n- Include `Fixes #ISSUE_NUMBER` in body, or `Relates to #ISSUE_NUMBER` if not a full fix\n- `master` — bug fixes (default PR target)\n- `minor` — new features\n- `major` — breaking changes\n\n## Gotchas\n\n- **Dashboard stale build**: `packages/dev-server/dist/` accumulates stale Vite build artifacts across branch switches. Vite doesn't clean old hashed files, so old chunks can interfere (e.g. overwriting `window.schemaInfo`). Always `rm -rf packages/dev-server/dist` before rebuilding. Build with `bunx vite build --base /dashboard/ --outDir ../dev-server/dist` from `packages/dashboard/`. Also check no stale Vite dev server is running on port 5173 — `DashboardPlugin` auto-proxies to it instead of serving static files.\n","category":"root","tokens":593}]}