Documentation
Welcome to the official ShadPanel documentation. These pages describe ShadPanel CLI 1.6.0.
ShadPanel scaffolds Next.js admin panels with authentication, form builders, data tables, and 50+ UI components based on shadcn/uiΒ . The hero path is resource generation: define a Prisma model, run one command, get list/create/edit/view pages.
npx shadpanel@latest init my-app
cd my-app
shadpanel db init
# add a Post model to prisma/schema.prisma, then:
shadpanel db migrate make add_posts
shadpanel db migrate run
shadpanel resource PostWhat is ShadPanel?
ShadPanel generates a complete admin app from the CLI:
- π¨ 50+ UI Components β vendored shadcn/ui library
- π Form Builder β Filament-inspired declarative forms with validation
- π Data Tables β sorting, searching, and pagination
- π Authentication β Better Auth with Google, GitHub, and credentials
- ποΈ Resource generator β
shadpanel resourcefrom a Prisma model (Resource 2.0) - π― TypeScript First β full type safety
- π Dark Mode β built-in theme support
- π± Responsive β mobile-friendly sidebar and layouts
npx create-shadpanel-next is deprecated. Use npx shadpanel@latest init <name> (or a global shadpanel init).
Quick Start
# Scaffold a Next.js 16 + Better Auth app
npx shadpanel@latest init my-admin-panel
# or, if installed globally:
# shadpanel init my-admin-panel
cd my-admin-panel
npm run devVisit http://localhost:3000Β .
Why ShadPanel?
Lightning-fast setup
shadpanel init writes a production-ready Next.js 16 app: Better Auth, dashboard with sidebar, and the component library. shadpanel db init then pins Prisma 6.18.0 and writes prisma/schema.prisma, lib/prisma.ts, and a seed stub.
Resource 2.0
shadpanel resource Post maps Prisma scalars and relations:
- belongsTo (n:1) β
FormSelectof related records - hasMany / M2M β lists on the generated
view/[id]page - Covered FK scalars (
authorIdwhenauthorexists) are skipped on forms
Flexible install modes
- Full panel β complete admin app (default)
- Auth + components β Better Auth + UI library
- Components only β just the vendored shadcn/ui components
- Merge into existing apps β
shadpanel init .
Core Features
Form Builder
Declarative, type-safe forms:
- 12+ field types (input, select, textarea, date, file upload, and more)
- Layout components (grid, section, tabs, fieldset)
- Built-in validation
- TypeScript support
Data Tables
- Sorting and filtering
- Global search
- Pagination
- Row selection and row actions
- Custom cell rendering
- Column visibility
Authentication
Complete authentication with Better Auth (not NextAuth):
- Credentials (email/password), Google, and GitHub
- Pre-built
/admin/loginand/admin/signup - Database sessions via the Prisma adapter
- Dashboard gated by Next.js 16
proxy.ts
Database Integration
Prisma 6.18.0:
- PostgreSQL, MySQL, SQLite, MongoDB
url = env("DATABASE_URL")(no user-project.template)- Laravel-style
migrate make/run/status - Prisma Studio, seed, reset
Installation Types
Full Panel (Default)
shadpanel init my-app --full-panelIncludes dashboard, Better Auth, components, and optional demo pages.
Auth Components
shadpanel init my-app --auth-componentsBetter Auth (lib/auth.ts, app/api/auth/[...all]/route.ts, proxy.ts), login/signup, and the UI library.
Components Only
shadpanel init my-app --components-only50+ UI components, form builder, and data tables β no auth or dashboard.
Documentation Structure
Get Started
CLI Commands
Components
Features
Guides
API Reference
Community & Support
- GitHub: github.com/kristiansnts/shadpanelΒ
- NPM: npmjs.com/package/shadpanelΒ
- Issues: github.com/kristiansnts/shadpanel/issuesΒ
Tech Stack (CLI 1.6.0)
Apps created with shadpanel init on 1.5.0+ use this stack. Apps already generated on 1.4.0 are not migrated automatically.
- Next.js 16 β App Router,
proxy.ts(Node runtime, not Edgemiddleware.ts) - React 19
- Better Auth β Prisma adapter (
better-auth) - Prisma 6.18.0
- Tailwind CSS v4
- shadcn/ui β components vendored into the project
- TypeScript
- Node.js 20.9.0 or higher
License
MIT License β see LICENSEΒ .
Ready to get started? β Quick Start Guide