YAS/BUILDANDRUN.md
YetAnotherSuite Dev c7d98523c6
Some checks failed
CI / Quality Check (push) Has been cancelled
init backup
2026-07-23 23:33:50 +02:00

2.3 KiB

Build & Run — YetAnotherSuite

Prerequisites

  • Node.js 22+
  • pnpm 11+ (npm install -g pnpm)
  • Docker + Docker Compose (for Postgres, Redis, Meilisearch)
  • Rust (only for desktop build — Tauri v2)

Quick start

# 1. Install dependencies
pnpm install

# 2. Approve native build scripts (first time only)
pnpm approve-builds

# 3. Start Postgres + Redis + Meilisearch
docker compose up -d postgres redis meilisearch

# 4. Generate Prisma client & run migrations
pnpm --filter @yetanother/db exec prisma generate
pnpm --filter @yetanother/db run db:migrate

# 5. (Optional) Seed dev data
pnpm --filter @yetanother/db exec tsx prisma/seed.ts

# 6. Copy env file
cp .env.example .env

# 7. Start dev servers (API on :4000, Web on :3000)
pnpm dev

Open http://localhost:3000 — the Vite dev server proxies /api and /ws to the API.

Commands

Command What
pnpm dev Start all apps in dev mode
pnpm build Build all packages (prod)
pnpm lint ESLint across all packages
pnpm typecheck TypeScript strict type checks
pnpm test Run all tests (Vitest)
pnpm format Prettier format all files
pnpm clean Remove dist + .turbo + node_modules

Scoped to a single package

pnpm --filter @yetanother/web dev        # web only
pnpm --filter @yetanother/api dev        # api only
pnpm --filter @yetanother/api exec prisma studio  # DB browser
pnpm --filter @yetanother/db run db:migrate  # new migration
pnpm --filter @yetanother/db run db:deploy  # apply migrations (production)

URLs

Service URL
Web app http://localhost:3000
API http://localhost:4000
API docs http://localhost:4000/docs
Prisma Studio pnpm --filter @yetanother/db exec prisma studio
Meilisearch http://localhost:7700

Docker (production build)

docker compose up --build

This starts Postgres, Redis, Meilisearch, the built API (:4000), and the built web app (:3000/80 via Nginx).

Desktop (Tauri)

Requires the Rust toolchain.

cd apps/desktop
pnpm tauri dev      # dev with hot-reload
pnpm tauri build    # production bundle

Verification

pnpm lint && pnpm typecheck && pnpm build

All three must pass before committing.