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

# Development

> Set up the Siren app and docs for local development.

# Development

Siren has two repos: the app and the docs.

***

## Repos

| Repo                                                        | Deploys to                                   |
| ----------------------------------------------------------- | -------------------------------------------- |
| [cryptoduke01/siren](https://github.com/cryptoduke01/siren) | [onsiren.xyz](https://onsiren.xyz)           |
| [cryptoduke01/docs](https://github.com/cryptoduke01/docs)   | [docs.onsiren.xyz](https://docs.onsiren.xyz) |

***

## App setup

The app is a Next.js frontend with a Fastify API.

```bash theme={null}
pnpm install
pnpm dev
pnpm build
```

***

## Docs setup

The docs use Mintlify.

```bash theme={null}
mint dev
mint broken-links
```

***

## Stack

| Layer                | Tool                           |
| -------------------- | ------------------------------ |
| Frontend             | Next.js                        |
| API                  | Fastify                        |
| Database             | Supabase                       |
| Prediction execution | DFlow (Kalshi), Polymarket API |
| Swaps                | Jupiter                        |
| Auth                 | Privy                          |
| Wallet data          | GoldRush / Covalent            |
| Email                | Resend                         |
| Campaigns            | Torque                         |

***

## Common mistake

If `docs.onsiren.xyz` still shows old content after you updated the app, you probably edited the wrong repo. The docs deploy from the Mintlify docs repo, not the app repo.
