Skip to content

Repository files navigation

mystack — template fullstack opinativo

Clone e use. Uma cara só: Expo + React + Hono + Drizzle + Zod + oRPC + Tailwind.

  api/          Hono + oRPC + Services + tests (Drizzle Postgres)
  web/          Vite + React + TanStack Query/Router + Tailwind 4 + shadcn
  mobile/       Expo SDK 57 + mesmo client oRPC
  desktop/      Tauri (serve o build do web, zero UI duplicada)
  lib/          helpers compartilhados (env, db, openapi, server)
  contracts/    oRPC contract-first — fonte da API, do swagger e dos clients
  routes/       api.ts: contrato-RAIZ + Hono shell + mount oRPC
  config/       env validado (createEnv), conexão única, lint presets
  database/     schema (1 entidade = 1 arquivo) + migrations + seeders + factories
  docs/         architecture.md, api.md, openapi.json (gerado)
  docker/       Postgres local + Dockerfile da API

Começo rápido

pnpm install
docker compose -f docker/compose.yml up -d db   # Postgres local
pnpm seed        # popula via DATABASE_URL
pnpm dev         # API :3333 (docs em /docs, spec em /openapi.json)
Comando O quê
pnpm check tsc api + web + mobile
pnpm test bun test (Postgres hermético via PGlite)
pnpm build build do web
Novo recurso database/schema/tables/ → contract → service → controller (ver regra 5)
pnpm --filter @mystack/api openapi:export regenera docs/openapi.json
pnpm --filter @mystack/desktop dev Tauri dev (precisa Rust, usa web em :5173)

Regras (valem CI)

  1. Código compartilhado mora em lib/ (env, db, openapi, server). Imports diretos de npm (versões no catalog:) — sem barrels, sem indireção.
  2. Versões decididas uma vez: pnpm-workspace.yamlcatalog:. Front trava no Expo SDK 57; toolchain e back no latest verificado.
  3. Paths uma vez: no contract (/products, /products/{id}).
  4. Banco fora do repo: DATABASE_URL obrigatório (Postgres).
  5. Nova entidade (MVC): database/schema/tables/ (Model) → contract (View/Resource) → service → controller → registra em contracts/index.ts + routes/api.ts. Detalhe p/ agentes: AGENTS.md.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages