fix: enforce headless mode for browser automation + update README for wizard

- STANDARDS.md: add non-negotiable rule that Playwright/Cypress/Puppeteer
  must always run headless to prevent display collision with the user
- QA-TESTING.md: add Browser Automation section with per-tool headless
  configuration guidance
- README.md: update to reflect the TypeScript wizard (mosaic init modes,
  --non-interactive flags, wizard development section, dist/ in tree)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-21 12:56:04 -06:00
parent 6a84f7e210
commit 19a752f087
3 changed files with 53 additions and 3 deletions

View File

@@ -79,6 +79,17 @@ Template:
| AC-2: ... | ... | ... |
```
## Browser Automation (Hard Rule)
All browser automation (Playwright, Cypress, Puppeteer) MUST run in **headless mode**.
Launching a visible browser collides with the user's display and active session.
- Playwright: use `headless: true` in config or `--headed` must NOT be passed
- Cypress: use `cypress run` (headless by default), never `cypress open`
- Puppeteer: use `headless: true` (default)
If a project's `playwright.config.ts` does not explicitly set `headless: true`, add it before running tests.
## Test Quality Rules
1. Test behavior and outcomes, not private implementation details.