Cypress

Fast, easy, and reliable end-to-end and component testing for anything that runs in a browser.

Tool
npm
v16.1.0
51,026 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
93 /100 Excellent
Development Activity 100
Maintenance 96
Community 76
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
88 /100 Excellent
Architecture 90
Code Quality 88
Innovation 90
Learning Curve 82

Cypress is an open-source JavaScript testing framework that runs directly inside the browser alongside the application under test, rather than driving it remotely like Selenium-based tools. This architecture gives it native access to the DOM, network layer, and the app’s own JavaScript, which powers features like automatic waiting, real-time reloads, and time-travel debugging through command snapshots.

Beyond end-to-end testing, Cypress ships a component testing runner for React, Vue, Angular, and Svelte, letting teams mount and test individual components in the same real-browser environment used for full app tests. It bundles its own Electron-based test runner (the Cypress App) plus a CLI, making the whole workflow — write a spec, run it headless or interactively, inspect failures — self-contained after a single npm install.

What You Get

  • An Electron-based interactive test runner (Cypress App) with time-travel snapshots for every command
  • A headless CLI mode for CI pipelines, with built-in video recording and screenshots on failure
  • Automatic waiting and retry-ability for assertions and commands, eliminating most manual sleep/wait calls
  • Network traffic control via cy.intercept() for stubbing, spying, and asserting on XHR/fetch requests
  • A component testing runner for React, Vue, Angular, and Svelte alongside classic E2E testing
  • First-class TypeScript support and a large plugin/ecosystem for accessibility, visual testing, and more

Common Use Cases

  • End-to-end regression testing of web applications in CI/CD pipelines
  • Component-level testing of React/Vue/Angular/Svelte components in isolation
  • Visually debugging flaky UI behavior using the interactive runner’s time-travel snapshots
  • Mocking and asserting on backend API calls during frontend integration tests
  • Cross-browser testing across Chrome, Edge, Firefox, and Electron

Under The Hood

Architecture — Cypress is a Lerna/Nx-managed monorepo (packages/) where the published cypress npm module (built from cli/) is a thin installer/launcher wrapping a separately-distributed Electron binary (packages/electron, packages/launcher). The core execution model runs test code in the same browser process as the application (packages/driver), proxied through a Node server process (packages/server, packages/proxy, packages/https-proxy) that intercepts and rewrites network traffic (packages/rewriter, packages/net-stubbing) — this in-browser execution is what enables synchronous DOM access and automatic retry-ability, in contrast to WebDriver-based tools that drive the browser remotely.

Tech Stack — The codebase is predominantly TypeScript (~59%) with a large JavaScript portion, built with a custom Gulp/Webpack/Rollup toolchain (gulpfile.js, rollup.config.mjs) and Yarn workspaces orchestrated by Lerna and Nx. The desktop app UI (packages/app, packages/launchpad, packages/frontend-shared) is a Vue 3 application; the GraphQL layer (packages/data-context) mediates state between the server and UI processes.

Code Quality — Each package carries its own test/ directory (unit and integration specs visible under packages/net-stubbing/test, packages/proxy/test, packages/driver, etc.), and the project uses Vitest for unit tests plus its own Cypress test suite for dogfooding E2E coverage (system-tests/). ESLint config is centralized (packages/eslint-config), and CI (CircleCI, visible in README badges) runs the full suite plus Cypress Cloud recording on every PR against the develop branch.

API Design — The public API surface (cy.visit(), cy.get(), cy.intercept(), etc.) is a fluent, chainable command queue with consistent retry/assertion semantics, documented extensively at on.cypress.io. Getting started requires a single npm install cypress --save-dev plus cypress open, with zero required configuration for a first E2E test — configuration (cypress.config.js) is only needed for customization like base URL, plugins, or component testing setup.

Used by 38 apps in this directory

TypeScript
72%
AGPL 3.0

APITable

Databases · Low Code Platforms

15,623

API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.

View details
71
Repo Health
77
Technical
60
Dependency
Built with
TypeScript 72%
Java 22%
Updated 3 weeks ago
TypeScript
68%
Apache 2.0

Appsmith

Automation · Developer Tools · No Code Platforms

40,959

Open-source low-code platform to build admin panels, dashboards, and internal tools connected to any database or API.

View details
93
Repo Health
79
Technical
66
Dependency
Built with
TypeScript 68%
Java 21%
Updated 6 days ago
TypeScript
53%
Other

Chaskiq

CRM · Customer Support

3,574

Self-hosted live chat, video calls, help center, and marketing automation — a full-stack Intercom alternative you run on your own infrastructure.

View details
57
Repo Health
66
Technical
66
Dependency
Built with
TypeScript 53%
Ruby 36%
Updated 3 months ago
JavaScript
83%
Other

Countly

Analytics · Marketing

5,908

Privacy-first, self-hosted analytics and customer engagement platform with full data ownership, GDPR compliance, and AI-powered insights across mobile, web, desktop, and IoT.

View details
96
Repo Health
82
Technical
65
Dependency
Built with
JavaScript 83%
Updated 4 days ago
TypeScript
62%
Other

Flowise

AI Development · Automation · Developer Tools

55,490

Drag-and-drop visual builder for AI agents, RAG pipelines, and multi-agent systems—deploy anywhere in minutes.

View details
82
Repo Health
77
Technical
63
Dependency
Built with
TypeScript 62%
JavaScript 27%
Updated 1 months ago
TypeScript
54%
Other

Focalboard

Collaboration · Productivity · Project Management

26,491

Self-hosted, open source project management with Kanban, table, gallery, and calendar views — a privacy-first alternative to Trello, Notion, and Asana.

View details
56
Repo Health
82
Technical
64
Dependency
Built with
TypeScript 54%
Go 40%
Updated 4 months ago
Ruby
64%
AGPL 3.0

Forem

Blogging · Community

22,783

Open source Ruby on Rails platform for building developer communities with articles, discussions, and social profiles—the same software that powers dev.to.

View details
83
Repo Health
79
Technical
67
Dependency
Built with
Ruby 64%
JavaScript 19%
HTML 13%
Updated 6 days ago
Go
62%
Apache 2.0

Harness Open Source

Code Editors · Developer Tools · Devops

38,450

A unified open source DevOps platform combining Git hosting, CI/CD pipelines, cloud development environments, and artifact registries in a single self-hosted system.

View details
89
Repo Health
79
Technical
64
Dependency
Built with
Go 62%
TypeScript 33%
Updated 1 weeks ago
Go
86%
MIT

Hatchet

AI Development · Automation · Developer Tools

8,014

A Postgres-backed orchestration engine for background tasks, AI agents, and durable workflows that replaces Redis queues and multi-datastore durable execution platforms with a single self-hostable service.

View details
88
Repo Health
83
Technical
67
Dependency
Built with
Go 86%
Updated 5 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers