> ## 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.

# Installation

> How to setup, install and run JTBDOS.

## Initialization

Run the `JTBDOS` init command:

```sh Terminal
npx JTBDOS@latest init
```

You will be prompted for the project name and package manager.

```sh Terminal
$ npx JTBDOS@latest init

┌  Let's start a JTBDOS project!
│
◇  What is your project named?
│  my-app
│
◇  Which package manager would you like to use?
│  pnpm
│
◇  Project initialized successfully!
│
└  Please make sure you install the Mintlify CLI and Stripe CLI before starting the project.
```

This will create a new directory with your project name and clone the repo into it. It will run a setup script to install dependencies and copy `.env` files. You can read more about environment variables [here](/setup/env).

## Database

You will need to scaffold the database using the schema defined in `packages/database/prisma/schema.prisma`:

```sh Terminal
pnpm migrate
```

## CMS

You will need to setup the CMS. Follow the instructions [here](/features/cms), but the summary is:

1. Fork the [`basehub/JTBDOS`](https://basehub.com/basehub/JTBDOS?fork=1) template
2. Get your Read Token from the "Connect to Your App" page
3. Add the `BASEHUB_TOKEN` to your [Environment Variables](/features/env)

## Development

Run the development server with:

```sh Terminal
pnpm dev
```

Open the localhost URLs with the relevant ports listed above to see the app, e.g.

* [http://localhost:3000/](http://localhost:3000/) — The main app.
* [http://localhost:3001/](http://localhost:3001/) — The website.
* [http://localhost:3002/](http://localhost:3002/) — The API.
* [http://localhost:3003/](http://localhost:3003/) — Email preview server.
* [http://localhost:3004/](http://localhost:3004/) — The docs
