A Bun-native monorepo template using built-in workspaces — no Turborepo or other build orchestration.
apps/
client/ → @apps/client (frontend)
server/ → @apps/server (backend)
packages/
shared/ → @arc/shared (shared code)
ui/ → @arc/ui (components & styles)
bun install
bun run dev # run all apps in watch mode (parallel)| Command | Description |
|---|---|
bun run dev |
Run all apps in watch mode |
bun run start |
Run all apps in production mode |
bun run build |
Build all apps |
bun run typecheck |
Type-check all workspaces |
bun run lint |
Lint with Biome |
bun run lint:fix |
Auto-fix with Biome |
bun run test |
Run tests in packages/ |
# Root (dev tooling)
bun add -d <package>
# Specific workspace
bun add --filter @apps/server <package>
bun add --filter @apps/client <package>
bun add --filter @arc/shared <package>- Bun APIs only — no Node/npm equivalents (see
CLAUDE.mdfor the full list) - Tests live alongside source as
*.test.tsand are run withbun test - Linting via Biome
- Path aliases:
@arc/*and@apps/*resolve via roottsconfig.json