This package provides shared TypeScript type definitions used across all packages in the Cypress monorepo, covering browsers, configuration, specs, automation, proxy, cloud, reporter, driver, and more.

**Key Commands**

```bash
# Build both CJS and ESM outputs
yarn workspace @packages/types build

# Run a specific test file
yarn workspace @packages/types test -- <path-to-spec>

# Run tests matching a glob pattern
yarn workspace @packages/types test -- "<glob-pattern>"

# Type-check
yarn workspace @packages/types check-ts
```

**Architecture**

All source lives in `src/` as individual domain-scoped files:

- `src/browser.ts` — Browser launch and info types
- `src/config.ts` — Cypress configuration types
- `src/spec.ts` — Spec file types
- `src/automation.ts` — Browser automation message types
- `src/proxy.ts` — HTTP proxy-related types
- `src/server.ts` — Server-side types
- `src/driver.ts` — Driver protocol types
- `src/reporter.ts` — Reporter event types
- `src/cloud.ts` — Cypress Cloud API types
- `src/protocol.ts` — Protocol types for CDP/BiDi
- `src/auth.ts` — Authentication types
- `src/git.ts` — Git info types
- `src/index.ts` — Barrel re-export of all types

**Gotchas / Notes**

- This package ships both CJS (`cjs/`) and ESM (`esm/`) builds; the `browser` field in `package.json` points to the ESM build.
- `devtools-protocol` is nohoisted to avoid version conflicts.
- When adding new shared types, prefer adding them here rather than inline in consuming packages to keep type definitions consolidated.

**Auto-Generated Files**

- `cjs/` and `esm/` — Generated by `tsc`; do not edit by hand.
