Files
cms.fellies.org/README.md
2026-02-10 01:25:57 +01:00

83 lines
1.6 KiB
Markdown

# CMS Monorepo (Bun + Biome + Next.js)
A baseline monorepo with:
- `apps/web`: public frontend app
- `apps/admin`: separated admin app
- `packages/ui`: shared UI primitives (shadcn-ready)
- `packages/content`: shared Zod schemas/types
- `packages/db`: Prisma + PostgreSQL data access
- `packages/config`: shared TypeScript config
## Stack
- Bun workspaces
- Biome (lint + format)
- Next.js App Router + TypeScript + `src/`
- Tailwind CSS
- Prisma + PostgreSQL
- Zod
- Zustand
- TanStack (Query, Table, Form)
## Quick start
1. Install dependencies:
```bash
bun install
```
2. Copy env and set your database URL:
```bash
cp .env.example .env
```
3. Generate Prisma client and run migrations:
```bash
bun run db:generate
bun run db:migrate
bun run db:seed
```
4. Run both apps:
```bash
bun run dev
```
- Web: http://localhost:3000
- Admin: http://localhost:3001
## Useful scripts
- `bun run dev`
- `bun run dev:web`
- `bun run dev:admin`
- `bun run lint`
- `bun run typecheck`
- `bun run check`
- `bun run format`
- `bun run db:generate`
- `bun run db:migrate`
- `bun run db:push`
- `bun run db:studio`
- `bun run db:seed`
## Recommended next packages
- Auth: `better-auth` or `next-auth`
- Uploads: `uploadthing`
- Rich text: `@tiptap/react`
- Caching/queue: `bullmq`, `ioredis`
- Email: `resend`
- i18n: `next-intl`
- Observability: `@sentry/nextjs`
- Testing: `vitest`, `@testing-library/react`, `playwright`
For TanStack specifically, this baseline already includes Query, Table, and Form. Add Virtual when you introduce very large lists:
- `@tanstack/react-virtual`