Skip to main content
The GitHub Docs site is a dynamic Node.js web application powered by Express. It runs on macOS, Windows, and Linux.

System requirements

The required Node.js version is declared in package.json under the "engines" field. Using a different major version may cause unexpected build or runtime errors.

Two ways to get started

Set up the full development environment on your own machine. This gives you the most control and the fastest feedback loop for code changes.
1

Install Node.js 24

Download the Node.js 24 LTS installer from nodejs.org and run it.If you use a Node.js version manager like nodenv or nvm, switch to Node.js 24 before continuing.Verify your installation:
2

Clone the repository

3

Install dependencies

Use npm ci for a clean, reproducible install. This reads package-lock.json exactly and does not modify it.
Run npm ci again any time you pull changes that update package-lock.json. You do not need to run it on every pull — only when dependencies change.
4

Build static assets

The build step compiles JavaScript bundles and CSS files using Next.js with webpack.
This step is required before starting the server for the first time. Like npm ci, you only need to re-run it when the build configuration changes — not on every code change.
5

Verify your setup

Start the development server to confirm everything is working:
Open http://localhost:4000 in your browser. You should see the GitHub Docs site running locally.Press Ctrl+C to stop the server.

Environment variables

The repository ships with a .env.example file that documents optional environment variables for local development. Copy it to a new .env file and fill in values as needed:
Key variables you may want to configure:
When ELASTICSEARCH_URL is not set, the application proxies search requests to the production Elasticsearch endpoint. You only need a local Elasticsearch instance if you’re working on search functionality.

Quick reference: setup commands