Scripts
Root and app scripts you actually run while developing a Taman project.
All commands are from the monorepo root unless noted. nx project names: web, api, db-pg.
Everyday
| Command | What it runs |
|---|---|
pnpm dev:web | nx run web:dev → vite --mode development (port from VITE_PORT) |
pnpm dev:api | nx run api:dev → nitro dev on 8788 |
pnpm db-pg:migrate:dev | drizzle-kit push with packages/server/db-pg/.env |
pnpm db-pg:migrate:uat | drizzle-kit migrate with .env.uat |
pnpm db-pg:migrate:prod | drizzle-kit migrate with .env.prod |
pnpm db:generate | drizzle-kit generate → SQL under packages/server/db-pg/migrations |
pnpm db:generate:auth | better-auth CLI schema dump (see Database) |
pnpm dev:db-pg:studio | Drizzle Studio (db-pg:studio:dev) |
pnpm nx run api:seed | Seed admin (bun run — Bun is undeclared) |
pnpm nx run api:seed:todos | Seed todos (tsx) |
Build and quality
| Command | What it runs |
|---|---|
pnpm build | nx run-many -t build (8 GB heap) |
pnpm build:analyze | Bundle analyzer on web |
pnpm check | circular deps, depcheck, typecheck, cspell |
pnpm check:type | nx run-many -t typecheck |
pnpm lint / pnpm format | ESLint (@vinicunca/eslint-config) |
pnpm test | vitest (watch) |
pnpm test:unit | vitest run --dom |
pnpm test:core | vitest packages |
pnpm --filter @taman/web test:e2e | Playwright (from apps/web) |
Web package scripts
From apps/web/package.json: dev, build, build:analyze, preview, typecheck, test:e2e, test:e2e-ui, test:e2e-codegen.
Housekeeping
| Command | What it runs |
|---|---|
pnpm bootstrap | pnpm install |
pnpm clean | scripts/clean.mjs |
pnpm reinstall | clean lockfile + install |
pnpm commit | czg (commitizen + commitlint scopes) |
pnpm catalog | pnpm dlx codemod pnpm/catalog |
postinstall runs stub on packages that define it (builds published packages in the source repo). preinstall is only-allow pnpm. prepare installs git hooks via scripts/prepare-hooks.mjs.
Removed on generate
create-taman deletes these root scripts from the generated package.json: build:docker, check:api-packages, publint. They remain in the source repository.