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

# Local development

> Run and validate Cooket without deploying contracts.

Prerequisites are Node.js 22+, pnpm 10.33.0, Go 1.26+, Docker Compose, and Foundry.

```shell theme={null}
pnpm install --frozen-lockfile
cp .env.example .env
docker compose up -d --build
```

Set a local PostgreSQL password and Reown project ID in the untracked `.env`. The template uses Arc Testnet and verified manifest addresses. The indexer defaults to `idle`; set active values deliberately if chain indexing is required.

| Service      | Local address                  |
| ------------ | ------------------------------ |
| Web          | `http://localhost:3200`        |
| API          | `http://localhost:4200`        |
| Realtime SSE | `http://localhost:4300/events` |
| PostgreSQL   | `127.0.0.1:15436`              |

```shell theme={null}
pnpm --filter web lint
pnpm --filter web exec tsc --noEmit
pnpm --filter web test
(cd apps/api && go test ./...)
(cd apps/indexer && go test ./...)
(cd apps/realtime && GOWORK=off go test ./...)
(cd contracts && forge test)
```

These commands do not deploy or broadcast. Preserve the project workflow direction: **Local → GitHub → VPS**. Publishing, deployment, and remote operations require a separate authorized phase.
