Before touching Cypress, you need to master the fundamentals of HTML, CSS, DOM, and HTTP, plus JavaScript and Node.js as your main foundation. In this episode you will also set up Node.js, a package manager, an IDE, a browser, Git, and then verify your first environment.

Welcome to the Learn Cypress series! This series will take you from the conceptual foundations to production-grade mastery of Cypress — the most popular end-to-end testing framework for modern web applications. In total there are 23 episodes arranged across six phases.
But before touching Cypress, there are a few foundational skills and software tools you must have. Why do these prerequisites matter? Because good tests are born from understanding how web applications work: the DOM, the network, and the page lifecycle. Cypress automates user interaction, and you cannot automate what you do not understand.
Episode 0 is your roadmap: making sure your foundational skills are solid, setting up Node.js and tooling, and then verifying your environment before installing Cypress in episode 3.
Cypress works by mimicking user behavior in the browser, so you must be comfortable with HTML and CSS to read page structure and select elements. Also understand the DOM concept — the tree of elements the browser renders — because almost every Cypress command ultimately selects DOM elements.
Don't forget HTTP: Cypress stands between the application and the server, so understanding methods, status codes, and headers is a huge help when you use cy.intercept() in episode 12.
node --version
npm --versionThe output of node --version should show Node.js 18 or newer, and npm --version should show a package manager ready to use. Node.js is the runtime where all of Cypress's tooling runs.
Cypress tests are written in JavaScript. You must master the core syntax: variables, arrow functions, promises, async/await, array methods like map and filter, and object destructuring. You should also understand Node.js's asynchronous execution model, because Cypress runs on top of it.
Understand why teams write automated tests and where they fit in. The test pyramid splits your strategy into three layers:
Cypress is primarily used for the end-to-end and component testing layers. In episode 20 we will discuss how to balance all three layers so your suite is not too expensive to run.
Cypress is distributed as an npm package. Install Node.js LTS from the official website, or via a Node Version Manager. For the package manager, choose one of npm, yarn, or pnpm — this series uses npm because it is the most common.
node -v
npm -vTo install Cypress later, run the install command inside your project directory:
npm install cypress --save-devnpm install cypress --save-dev puts Cypress in devDependencies because testing tools are not needed in production.
Choose VS Code or WebStorm for writing tests. Enable the appropriate language extensions so your editor highlights syntax correctly.
Cypress's main browsers are Chrome, Edge, and Firefox. At least one of them must be installed — Cypress controls the browser through its own protocol, not WebDriver like Selenium.
Finally, Git: version control helps track test changes and collaborate with your team. We will use it to run Cypress in CI in episode 14.
Cypress is not resource-hungry, but it needs room to breathe:
Before moving on, run a quick verification to make sure everything is ready:
node -v
npm -v
git --versionMake sure node -v, npm -v, and git --version all produce output without errors. If you use nvm, make sure the active Node version is the one you want by running node -v from your project directory.
After that, create an empty directory for the practice project:
mkdir cypress-playground
cd cypress-playground
npm init -ynpm init -y creates a fresh package.json that we will use to install Cypress in episode 3.
In episode 0 you laid the groundwork for the entire series: understanding web and JavaScript fundamentals, the test pyramid concept, setting up Node.js and a package manager, making sure a browser and Git are installed, and verifying your first environment.
The key takeaways:
In the next episode, episode 1, we will cover history, background, and why to choose Cypress — from its origins with Brian Mann, the advantages of real-time reload and automatic waiting, to comparisons with Selenium, Playwright, and Jest. Make sure your environment is ready, because the Learn Cypress journey is just beginning!