# System map — cypress-io/cypress

> Canonical page: https://codevetter.com/unpack/cypress/system-map

# System map — cypress-io/cypress

Scanned commit 7d987f04740f8f5388ac3116e8ef7957373ead14 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The system spans a user-Node CLI, an Electron main process, a configuration/plugin child process, and browser bundles. The application exposes GraphQL and browser communication services while coordinating projects and network interception. Distribution includes an npm module and platform-specific desktop binaries, with separate build and release machinery.
- Yarn workspaces cover cli, packages, npm, tooling, system-tests, and scripts; Lerna uses the same package layout and selects Yarn as its npm client. — [package.json#L235-253](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/package.json#L235-L253) [lerna.json#L1-12](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/lerna.json#L1-L12)
- The executable entry calls CLI.init(); the module entry exports open, run, cli, defineConfig, and defineComponentFramework. — [cli/lib/bin/cypress.ts#L1-5](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/cli/lib/bin/cypress.ts#L1-L5) [cli/lib/index.ts#L43-56](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/cli/lib/index.ts#L43-L56)
- Server startup installs the require hook before loading start-cypress; runElectron dispatches directly to modes when already inside Electron and otherwise opens an Electron child. — [packages/server/index.js#L8-30](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/server/index.js#L8-L30) [packages/server/lib/cypress.ts#L93-125](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/server/lib/cypress.ts#L93-L125)
- ProjectConfigIpc forks configuration code with cwd at the config file's directory and execPath set to the resolved user Node; cli/package.json supports Node ^22, ^24, or >=26. — [packages/data-context/src/data/ProjectConfigIpc.ts#L308-324](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/data-context/src/data/ProjectConfigIpc.ts#L308-L324) [packages/data-context/src/data/ProjectConfigIpc.ts#L410-416](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/data-context/src/data/ProjectConfigIpc.ts#L410-L416) [cli/package.json#L125-127](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/cli/package.json#L125-L127)
- The Vue application uses generated hash-history routes; its state backend builds a Nexus GraphQL schema with DataContext as context and a wrapped remote schema. — [packages/app/src/router/router.ts#L1-22](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/app/src/router/router.ts#L1-L22) [packages/app/src/router/router.ts#L70-78](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/app/src/router/router.ts#L70-L78) [packages/data-context/graphql/schema.ts#L14-37](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/data-context/graphql/schema.ts#L14-L37)
- createProxyRuntime and createCdpFetchRuntime compose interception transports; both receive the server-owned NetStubbingState rather than creating independent route state. — [packages/server/lib/network-runtime.ts#L31-43](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/server/lib/network-runtime.ts#L31-L43) [packages/server/lib/network-runtime.ts#L104-124](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/server/lib/network-runtime.ts#L104-L124) [packages/server/lib/network-runtime.ts#L174-200](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/server/lib/network-runtime.ts#L174-L200)
- Inspected local storage includes versioned binary caches, project/global state.json files, and PID-named interactive-session records; these serve different lifecycle owners. — [cli/lib/tasks/state.ts#L51-60](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/cli/lib/tasks/state.ts#L51-L60) [packages/server/lib/saved_state.ts#L17-50](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/server/lib/saved_state.ts#L17-L50) [packages/cypress-sessions/lib/index.ts#L65-85](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/packages/cypress-sessions/lib/index.ts#L65-L85)
- Root build runs the Lerna build, Electron binary build, and CLI build; release documentation distinguishes independently published @cypress packages from desktop binaries promoted in S3 and the cypress npm artifact. — [package.json#L8-20](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/package.json#L8-L20) [guides/release-process.md#L3-7](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/guides/release-process.md#L3-L7) [guides/release-process.md#L95-109](https://github.com/cypress-io/cypress/blob/7d987f04740f8f5388ac3116e8ef7957373ead14/guides/release-process.md#L95-L109)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
