CodeVetter · Repo Unpack · Contributor handoff
cypress-io/cypress
Tests and CI were inspected, not executed, and no repository files were changed. Future implementation work should start from package-local guidance and identify the runtime, generated artifacts, and test runner before editing. The highest-value boundaries to preserve are shared interception state, session identity/persistence, user-Node configuration execution, and public CLI/module compatibility. This is a bounded investigation rather than exhaustive inventory or verification.
- Read root/package AGENTS.md and the appropriate guides before implementation; package documentation supplies architecture and runner details, and canonical multi-step workflows belong in guides.
- Use Yarn 1 and existing workspace scripts; avoid root yarn test --scope for narrowing because its hardcoded Lerna scopes broaden the run.
- Identify the runtime before using APIs: CLI/config-child support follows cli engines, the main process follows Electron, and browser bundles have a separate browser floor.
- New code and fixtures use TypeScript and ESLint conventions; preserve single quotes, no semicolons, two-space indentation, type-only imports, and documented skip reasons.
- Edit CT adapter sources under npm rather than copied cli artifacts; regenerate Nexus/schema outputs through data-context build, and rebuild the shared session contract before CLI consumers pick up changes.
- For execution-authorized validation, target CLI Vitest files with yarn workspace cypress test-unit -- <spec>, server Mocha with test-unit-mocha, server Vitest with test-unit-vitest, and data-context Jest with test-unit -- <spec>; then run relevant check-ts/lint scripts. These commands were inspected, not run in this audit.
- Keep platform-dependent CLI tests host-independent: mock both os.arch and the arch package, avoid regenerating canonical snapshots to hide host drift, and account for util._cachedArch singleton state.
- Interception edits require both browser-CDP and forceHttp1 validation plans; preserve the server-owned state across browser switches, and treat contributor CI approval/parameter filters as execution conditions rather than proof that all suites ran.