{ "version": 1, "snapshot_of": "front-end-vue", "projects": { "front-end-vue": { "display_name": "Truckwash Frontend", "relative_root": ".", "commands": { "setup": { "default": "npm ci\nnpx playwright install" }, "run": { "default": "npm run dev" }, "test_unit": { "default": "npm run test:unit" }, "test_e2e": { "default": "npm run test:e2e:smoke" }, "test_full": { "default": "npm run test:e2e:ci" }, "debug": { "default": "npx playwright test --debug" } }, "codex_environment": { "name": "pleno-vue", "actions": [ { "name": "Run dev", "icon": "run", "command_id": "run" }, { "name": "Vitest unit tests", "icon": "test", "command_id": "test_unit" }, { "name": "Playwright smoke", "icon": "test", "command_id": "test_e2e" }, { "name": "Playwright full suite", "icon": "test", "command_id": "test_full" }, { "name": "Playwright debug", "icon": "debug", "command_id": "debug" }, { "name": "AI workflow check", "icon": "debug", "literal_command": { "default": "node scripts/sync-ai-workflow.mjs --check" } } ] }, "generated_content": { "aiassistant_tests_lines": [ "# Frontend Testing Rules", "", "These rules apply to Vue changes, browser flows, and frontend test updates.", "", "1. Add or update tests for every new feature, bug fix, API integration change, or auth, booking, POS, or i18n workflow change.", "2. Browser validation runs through Playwright. Legacy browser-driver tooling is outside the supported workflow.", "3. Use `npm run test:unit` for Vitest coverage of isolated logic and component behavior.", "4. Use `npm run test:e2e:smoke` for the narrow Playwright browser pass on changed user flows.", "5. Use `npm run test:e2e:ci` when a change affects shared navigation, authentication, release-critical flows, or multiple browser projects.", "6. Use `npx playwright test --debug` for interactive debugging and trace capture.", "7. Prefer stable selectors, explicit fixtures, and assertions about user-visible behavior.", "8. Avoid manual sleeps. Let Playwright waiting and expectations drive synchronization.", "9. If a bug fix needs a browser regression test, prove the failure first and then keep the test with the fix.", "", "Canonical workflow reference: `.ai-workflow/workflow.md`." ], "junie_lines": [ "# Truckwash Frontend Development Guidelines", "", "This file is generated from the canonical AI workflow and is the supported Junie-facing reference for the frontend repository.", "", "## Build And Run", "", "- Setup: `npm ci` and `npx playwright install`.", "- Start development server: `npm run dev`.", "- Production build sanity check: `npm run build`.", "", "## Testing", "", "- Vitest unit tests: `npm run test:unit`.", "- Playwright smoke: `npm run test:e2e:smoke`.", "- Playwright full suite: `npm run test:e2e:ci`.", "- Playwright debug: `npx playwright test --debug`.", "- Browser validation is Playwright-first. Legacy browser-driver tooling is not part of the supported workflow.", "", "## Workflow Notes", "", "- Generated assistant metadata is checked with `node scripts/sync-ai-workflow.mjs --check`.", "- Keep frontend browser verification aligned with the existing Playwright projects and runner scripts in `package.json`.", "- Use the narrowest relevant test command first, then expand to the broader suite when the change risk requires it.", "", "Canonical workflow reference: `.ai-workflow/workflow.md`." ] } } }, "assistants": { "codex": { "description": "Codex environment files and actions." }, "aiassistant": { "description": "Project-specific AI Assistant rules." }, "junie": { "description": "Project-specific Junie guidance." }, "copilot": { "description": "Standardized Copilot task dispatch workflow." } }, "commands": { "setup": { "description": "Install dependencies and prepare the supported local environment." }, "run": { "description": "Start the primary local development entrypoint for the project." }, "test_unit": { "description": "Run the project's narrow unit-style verification command." }, "test_e2e": { "description": "Run the project's targeted browser or end-to-end verification command." }, "test_full": { "description": "Run the broader high-confidence verification command when the project defines one." }, "debug": { "description": "Run the supported debug entrypoint." } }, "generated_outputs": [ { "id": "frontend_codex_environment", "template": "codex_project_environment", "project": "front-end-vue", "path": ".codex/environments/environment.toml" }, { "id": "frontend_aiassistant_tests", "template": "aiassistant_frontend_tests_rule", "project": "front-end-vue", "path": ".aiassistant/rules/Creating and maintaining tests.md" }, { "id": "frontend_junie_guidelines", "template": "junie_frontend_guidelines", "project": "front-end-vue", "path": ".junie/guidelines.md" } ], "sync_targets": { "front-end-vue": { "source_root": ".", "destination": "C:\\Users\\2jepp\\WebstormProjects\\pleno-vue", "supported_metadata_dirs": [ ".codex", ".aiassistant", ".junie", ".github", ".ai-workflow", "scripts" ] } }, "unsupported": { "mcp": [ "front-end-vue/.ai/mcp/mcp.json" ] } }