---
title: "Development Environment"
url: https://docs.sentry.io/contributing/environment/
---

# Development Environment

This setup assumes you have [pnpm](https://pnpm.io/), [Volta](https://volta.sh/) and [pre-commit](https://pre-commit.com/) installed.

If you prefer not to use Volta, make sure you're using Node 20.

First, open a terminal and clone the `sentry-docs` repo:

```bash
# Clone the docs repo
git clone git@github.com:getsentry/sentry-docs.git
```

Next, navigate into the cloned repo and run the following to install dependencies:

```bash
# Install or update application dependencies
make
```

This also installs agent skills via `@sentry/dotagents` for AI-assisted development workflows.

Now, run the development webserver (depending on the docs you want to run):

```bash
# Start dev server for user docs
pnpm dev

# Start dev server for developer docs
pnpm dev:developer-docs
```

You will now be able to access docs via <http://localhost:3000>.

##### Having issues running the development server?

If you're having issues running the development server, try running `make clean` and then `make develop`.

## [Linting](https://docs.sentry.io/contributing/environment.md#linting)

A few linters are available. Run `pnpm lint` to apply them all.

Some lints can be auto-fixed with eslint

```bash
pnpm lint:eslint:fix
```

Additionally we use prettier to format our code and markdown. Run prettier if you get linting errors in CI:

```bash
pnpm lint:prettier:fix
```

### [Running typos locally](https://docs.sentry.io/contributing/environment.md#running-typos-locally)

We use [typos](https://github.com/crate-ci/typos) to check for spelling errors.

**Option 1: Via pre-commit**

```bash
make develop  # Sets up pre-commit hooks
pre-commit run typos --all-files
```

**Option 2: Direct command**

First, install typos:

* macOS/Linux: `brew install typos-cli`
* Cross-platform: `cargo install typos-cli` (requires Rust)
* Or download from [GitHub releases](https://github.com/crate-ci/typos/releases)

Then run:

```bash
pnpm lint:typos
```
