> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jtbdos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prerequisites

> How to configure your development environment for JTBDOS.

## Operating System

JTBDOS is designed to work on macOS, Linux and Windows. While JTBDOS itself is platform-agnostic, the tooling and dependencies we use have different requirements.

We've tested and confirmed that JTBDOS works on the following combinations of operating systems, Node.js versions and JTBDOS versions:

| Operating system                 | JTBDOS version | Node.js version | Notes                                                                            |
| -------------------------------- | -------------- | --------------- | -------------------------------------------------------------------------------- |
| macOS Sequoia 15.0.1 (24A348)    | 2.14.3         | 20.12.2         |                                                                                  |
| Ubuntu 24.04 Arm64               | 2.14.3         | 20.18.0         |                                                                                  |
| Fedora, Release 41               | 2.14.3         | 22.11.0         |                                                                                  |
| Windows 11 Pro 24H2 (26100.2033) | 2.14.3         | 20.18.0         | Turborepo only supports specific architectures. `windows ia32` is not supported. |

We're aware of issues on [non-Ubuntu Linux distributions](https://github.com/haydenbleasel/JTBDOS/issues/238). While we don't officially support them, we'd love to know if you get it working!

## Package Manager

JTBDOS defaults to using [pnpm](https://pnpm.io/) as a package manager, but you can use [npm](https://www.npmjs.com/), [yarn](https://yarnpkg.com/) or [bun](https://bun.sh/) instead by passing a flag during the [installation](/setup/installation) step.

<Card title="Install pnpm" icon="bolt" href="https://pnpm.io/installation" horizontal>
  Install pnpm for your operating system.
</Card>

## Stripe CLI

We use the Stripe CLI to forward [payments webhooks](/packages/payments#webhooks) to your local machine.

<Card title="Install the Stripe CLI" icon="bolt" href="https://docs.stripe.com/stripe-cli" horizontal>
  Install the Stripe CLI for your operating system.
</Card>

Once installed, you can login to authenticate with your Stripe account.

```sh Terminal
stripe login
```

## Mintlify CLI

We use the Mintlify CLI to preview the [docs](/apps/docs) locally.

<Card title="Install the Mintlify CLI" icon="bolt" href="https://mintlify.com/docs/development" horizontal>
  Install the Mintlify CLI.
</Card>

## Accounts

JTBDOS relies on various SaaS products. You will need to create accounts with the following services then set the API keys in your [environment variables](/env):

* [Arcjet](https://arcjet.com), for [application security](/packages/security/application).
* [BetterStack](https://betterstack.com), for [logging](/packages/observability/logging) and [uptime monitoring](/packages/observability/uptime).
* [Clerk](https://clerk.com), for [authentication](/packages/authentication).
* [Google Analytics](https://developers.google.com/analytics), for [web analytics](/packages/analytics/web).
* [Posthog](https://posthog.com), for [product analytics](/packages/analytics/product).
* [Resend](https://resend.com), for [transactional emails](/packages/email).
* [Sentry](https://sentry.io), for [error tracking](/packages/observability/error-capture).
* [Stripe](https://stripe.com), for [payments](/packages/payments).
