Setup local

Pré-requisitos

Use Node.js 22.12 ou mais recente e pnpm 9. O repositório usa workspaces pnpm e Turbo para coordenar os apps e pacotes.

Instalação

pnpm install --frozen-lockfile

Banco local

Os runtimes apps/monitor, apps/api e apps/workflows usam o binding DB e compartilham o mesmo estado local do D1 em packages/db/.wrangler/state.

pnpm db:migrate:local
SEED_EMAIL=you@example.com SEED_PASSWORD=secret pnpm db:seed:local

O seed cria o usuário inicial para acessar o apps/monitor.

Apps

pnpm dev:monitor
pnpm dev:api
pnpm dev:workflows

Rode cada app em um terminal separado quando estiver depurando uma integração entre monitor, API e workflows.

Papel no sistema

Este guia é o caminho feliz para um desenvolvedor interno sair de um clone limpo até três Workers locais conversando entre si. Ele prepara apps/monitor, apps/api, apps/workflows e o D1 compartilhado antes de qualquer alteração de produto.

Onde fica o código

O setup local toca principalmente package.json, turbo.json, packages/db, apps/monitor, apps/api e apps/workflows. As migrations ficam em packages/db/drizzle, e o estado persistido local fica em packages/db/.wrangler/state.

Como se conecta com o resto

Depois do setup, o monitor usa auth e D1 para sessões, a API usa Hono para endpoints externos, e o worker de workflows expõe ações ao vivo por service binding. Todos compartilham o mesmo schema de packages/db.

Como verificar

Rode pnpm db:migrate:local, suba os três apps com pnpm dev:monitor, pnpm dev:api e pnpm dev:workflows, então entre no monitor com o usuário criado pelo seed. Para uma checagem mais curta, rode pnpm --filter specs check-types depois de editar esta documentação.