187 lines
6.3 KiB
JSON
187 lines
6.3 KiB
JSON
{
|
|
"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"
|
|
]
|
|
}
|
|
}
|