Adapted from the switchboard repository docs. Public repo. Status: beta, not stable.
A modular, open-source admin panel and API scaffolding tool. Generates database-backed admin resources and routes from a Prisma schema in a Next.js App Router project. CLI published as @lanebucher/switchboard.
npm install -D @lanebucher/switchboard@beta
npx switchboard init
npx switchboard generate --pages
npx switchboard auth seed-admin
npm run dev
# open http://localhost:3000/admin (admin / password — change before production)
Beta warning: test in a branch first, use
--dry-runbefore writing files, and change default admin credentials before deploying.
init creates: Prisma helper, Switchboard types/registry/overrides, form and table components, admin layout/index/login pages, middleware.ts guard, switchboard.css. Requires a Prisma User model with scalar @id, unique username/email, password field, and a role enum including ADMIN. Needs SWITCHBOARD_SESSION_SECRET (≥32 random chars).
generate --pages writes per-model resource configs plus full admin CRUD pages (/admin/<models>, /new, /[id]/edit). Generated files belong to the project and can be edited; re-running skips unchanged files, --force overwrites.
| Prisma field | Control |
|---|---|
| String | Text input (email/password/long-text heuristics) |
| Int/Float/Decimal/BigInt | Number input |
| Boolean | Checkbox |
| Enum | Select |
| DateTime | datetime-local |
| Json | Multiline JSON textarea |
| Relations | Select of existing related records |
Relations support selecting existing records only (no nested create, no many-to-many editors); relation option lists load in full; Bytes fields get no upload control; validation is browser + Prisma/server errors.
npm install && npm run db:migrate && npm run db:seed && npm run dev
npm run lint && npm run build
examples/basic-next-prisma is a standalone smoke-test app (npm run example:smoke).
black-candle-technologies/switchboard (public)@lanebucher/switchboard