---
title: "Prerequisites"
description: "Tools and accounts you need before getting started"
source: /docs/prerequisites
---


Required Tools [#required-tools]

Install these before running the scaffold:

| Tool          | Version | Install                                                                                    |
| ------------- | ------- | ------------------------------------------------------------------------------------------ |
| **Node.js**   | 20+     | [nodejs.org](https://nodejs.org)                                                           |
| **pnpm**      | 9+      | `npm install -g pnpm`                                                                      |
| **Wrangler**  | Latest  | `npm install -g wrangler` (Cloudflare CLI)                                                 |
| **Turso CLI** | Latest  | `brew install tursodatabase/tap/turso` or [docs](https://docs.turso.tech/cli/installation) |

Optional Tools [#optional-tools]

| Tool           | Purpose                                 | Install                                                       |
| -------------- | --------------------------------------- | ------------------------------------------------------------- |
| **GitHub CLI** | Repo creation, environment provisioning | `brew install gh` or [cli.github.com](https://cli.github.com) |
| **Stripe CLI** | Webhook testing, product setup          | `brew install stripe/stripe-cli/stripe`                       |

Required Accounts [#required-accounts]

Cloudflare (required) [#cloudflare-required]

All services deploy as Cloudflare Workers.

1. Create a free account at [cloudflare.com](https://dash.cloudflare.com/sign-up)
2. Authenticate Wrangler: `wrangler login`
3. Note your **Account ID** (Dashboard > any domain > Overview > right sidebar)
4. Create an **API Token** at [dash.cloudflare.com/profile/api-tokens](https://dash.cloudflare.com/profile/api-tokens) with these permissions:

| Permission                   | Access |
| ---------------------------- | ------ |
| Account / Workers Scripts    | Edit   |
| Account / Workers KV Storage | Edit   |
| Account / Workers R2 Storage | Edit   |
| Account / Cloudflare Queues  | Edit   |
| Account / D1                 | Edit   |
| Zone / Workers Routes        | Edit   |
| Zone / DNS                   | Edit   |

Turso (required) [#turso-required]

Each service gets its own database.

1. Create an account at [turso.tech](https://turso.tech)
2. Authenticate: `turso auth login`

Stripe (required for payments) [#stripe-required-for-payments]

Handles subscriptions and credit packages.

1. Create an account at [stripe.com](https://stripe.com)
2. Get your **Secret Key** and **Publishable Key** from the [API keys page](https://dashboard.stripe.com/apikeys)
3. Create a webhook endpoint (see [Deploy](/docs/deploy))

LLM Provider (required) [#llm-provider-required]

Choose one:

* **Anthropic** (recommended): Get an API key at [console.anthropic.com](https://console.anthropic.com)
* **OpenAI**: Get an API key at [platform.openai.com](https://platform.openai.com)

GitHub (recommended) [#github-recommended]

Required if you want CI/CD, Conductor workspace automation, and automated deployments.

1. Install GitHub CLI: `brew install gh`
2. Authenticate: `gh auth login`

Optional Accounts [#optional-accounts]

| Service           | Purpose              | Where to get credentials                                                                      |
| ----------------- | -------------------- | --------------------------------------------------------------------------------------------- |
| **Google OAuth**  | Social sign-in       | [Google Cloud Console](https://console.cloud.google.com/apis/credentials) > OAuth 2.0 Client  |
| **GitHub OAuth**  | Social sign-in       | [GitHub Developer Settings](https://github.com/settings/developers) > OAuth Apps              |
| **Resend**        | Transactional email  | [resend.com](https://resend.com)                                                              |
| **Twilio**        | SMS MFA              | [console.twilio.com](https://console.twilio.com)                                              |
| **Langfuse**      | LLM observability    | [cloud.langfuse.com](https://cloud.langfuse.com)                                              |
| **Google Places** | Address autocomplete | [Google Cloud Console](https://console.cloud.google.com/apis/credentials) > Enable Places API |

Verify Your Setup [#verify-your-setup]

Run these to confirm everything is ready:

```bash
node --version          # v20+
pnpm --version          # 9+
wrangler --version      # any
turso --version         # any
gh auth status          # authenticated (optional)
stripe --version        # any (optional)
```
