Getting Started
Clone the Aurea monorepo, install dependencies, and run all apps locally in under five minutes.
Prerequisites
| Tool | Minimum version | Notes |
|---|---|---|
| Bun | 1.2 | Primary package manager and runtime |
| Node.js | 22 | Required by some tooling (e.g. Payload CMS) |
| PostgreSQL | 16 | Only needed for apps/web (Payload) and apps/api |
| Git | any | — |
1. Clone
git clone https://github.com/gjsoaresc/aurea.git
cd aurea2. Install dependencies
Bun workspaces install all apps and packages in one shot from the repo root:
bun installThis also runs each app's postinstall hooks (e.g. fumadocs-mdx for the docs site).
3. Configure environment variables
Each app ships an .env.example. Copy and fill in the secrets:
cp apps/web/.env.example apps/web/.env.local
cp apps/api/.env.example apps/api/.envapps/web and apps/api will not start without a valid DATABASE_URL. For local development, a
plain PostgreSQL 16 instance on the default port is sufficient.
4. Run all apps
bun run devTurborepo starts every app in parallel with its persistent dev server.
Dev ports
| App | URL | Description |
|---|---|---|
apps/web | http://localhost:3000 | Next.js + Payload CMS public site |
apps/dashboard | http://localhost:3001 | Vite SPA — client dashboard |
apps/docs | http://localhost:3002 | This Fumadocs site |
apps/api | http://localhost:4000 | NestJS GraphQL + MCP API |
| GraphQL Playground | http://localhost:4000/graphql | Apollo Sandbox |
5. Run a single app
# from repo root
bun turbo run dev --filter=docs
bun turbo run dev --filter=@aurea/apiOr cd into the app directory and run its scripts directly:
cd apps/docs
bun run devType-checking
# check every app/package
bun run check-types
# check just the docs site
bun turbo run check-types --filter=docsLinting
bun run lint # all workspaces
bun run format # Prettier write pass
bun run format:check # CI-safe dry run