Scaffold Presets
Framework-specific project scaffolding presets for rapid development.
Bootspring provides framework-specific presets that generate complete, production-ready project structures. Each preset includes best practices, common patterns, and plugin integration.
Available Presets#
| Preset | Description | Best For |
|---|---|---|
nextjs | Next.js 15 + App Router + TypeScript + Tailwind + shadcn/ui | Full-stack web apps |
react | React 19 + Vite + TypeScript + Tailwind | SPAs, dashboards |
node | Express/Fastify + TypeScript + Zod | APIs, microservices |
fullstack | Next.js + Prisma + NextAuth + full stack | Complete applications |
Using Presets#
Basic Usage#
bootspring seed scaffold --preset=nextjsDry Run Preview#
Preview what will be created without writing files:
bootspring seed scaffold --preset=nextjs --dry-runExample output:
Scaffold Plan:
Framework: nextjs
Language: typescript
UI: shadcn
Styling: tailwind
Directories to create:
+ app/
+ app/(auth)/
+ app/api/
+ components/
+ components/ui/
+ lib/
+ hooks/
+ types/
+ public/
... and 8 more
Files to create:
+ app/layout.tsx
+ app/page.tsx
+ app/globals.css
+ components/ui/button.tsx
+ lib/utils.ts
+ package.json
+ tsconfig.json
+ tailwind.config.ts
+ next.config.js
... and 18 more
Dry run - no files created
Preset Details#
Next.js Preset#
bootspring seed scaffold --preset=nextjsCreates:
your-project/
├── app/
│ ├── (auth)/
│ │ ├── sign-in/
│ │ └── sign-up/
│ ├── (dashboard)/
│ │ └── dashboard/
│ ├── api/
│ ├── layout.tsx
│ ├── page.tsx
│ └── globals.css
├── components/
│ ├── ui/
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ ├── input.tsx
│ │ └── ...
│ └── layout/
│ ├── header.tsx
│ ├── footer.tsx
│ └── sidebar.tsx
├── lib/
│ └── utils.ts
├── hooks/
├── types/
├── public/
├── package.json
├── tsconfig.json
├── tailwind.config.ts
├── next.config.js
└── .env.example
Includes:
- App Router setup
- TypeScript configuration
- Tailwind CSS with shadcn/ui
- Authentication routes
- Dashboard layout
- API route structure
React Preset#
bootspring seed scaffold --preset=reactCreates:
your-project/
├── src/
│ ├── components/
│ ├── hooks/
│ ├── lib/
│ ├── pages/
│ ├── App.tsx
│ ├── main.tsx
│ └── index.css
├── public/
├── package.json
├── tsconfig.json
├── vite.config.ts
└── tailwind.config.ts
Includes:
- Vite build system
- React Router setup
- TypeScript configuration
- Tailwind CSS
- Component structure
Node Preset#
bootspring seed scaffold --preset=nodeCreates:
your-project/
├── src/
│ ├── routes/
│ │ ├── index.ts
│ │ ├── auth.ts
│ │ └── users.ts
│ ├── middleware/
│ │ ├── auth.ts
│ │ └── validation.ts
│ ├── lib/
│ │ ├── db.ts
│ │ └── utils.ts
│ ├── types/
│ └── index.ts
├── tests/
├── package.json
├── tsconfig.json
└── .env.example
Includes:
- Express or Fastify setup
- Route structure
- Middleware patterns
- Zod validation
- Error handling
Fullstack Preset#
bootspring seed scaffold --preset=fullstackCreates:
your-project/
├── app/
│ ├── (auth)/
│ ├── (dashboard)/
│ ├── api/
│ │ ├── auth/
│ │ ├── users/
│ │ └── webhooks/
│ ├── layout.tsx
│ └── page.tsx
├── components/
├── lib/
│ ├── db.ts
│ ├── auth.ts
│ ├── stripe.ts
│ └── utils.ts
├── prisma/
│ └── schema.prisma
├── package.json
└── ...
Includes:
- Everything from
nextjspreset - Prisma database setup
- NextAuth configuration
- Stripe integration (if enabled)
- API route handlers
- Server actions
Plugin Integration#
Presets automatically include files based on your enabled plugins:
Auth Plugin#
Clerk:
├── middleware.ts
├── app/(auth)/sign-in/[[...sign-in]]/page.tsx
├── app/(auth)/sign-up/[[...sign-up]]/page.tsx
└── lib/auth.ts
NextAuth:
├── app/api/auth/[...nextauth]/route.ts
├── lib/auth.ts
└── types/next-auth.d.ts
Payments Plugin#
Stripe:
├── app/api/webhooks/stripe/route.ts
├── lib/stripe.ts
└── config/products.ts
Database Plugin#
Prisma:
├── prisma/schema.prisma
├── lib/db.ts
└── .env (DATABASE_URL)
Testing Plugin#
Vitest:
├── vitest.config.ts
├── tests/
│ ├── setup.ts
│ └── example.test.ts
└── package.json (test scripts)
Customizing Output#
From SEED.md#
If you have a SEED.md, scaffold reads configuration from it:
# Uses tech stack from SEED.md
bootspring seed scaffoldFrom Config#
Use bootspring.config.js:
bootspring seed scaffold --from-configSpecific Components#
Scaffold specific parts:
1# Just API routes
2bootspring seed scaffold --component=api
3
4# Just components
5bootspring seed scaffold --component=ui
6
7# Just auth
8bootspring seed scaffold --component=authPost-Scaffold Steps#
After scaffolding:
1. Install Dependencies#
npm install
# or
pnpm install2. Set Up Environment#
cp .env.example .env.local
# Edit .env.local with your values3. Initialize Database (if using Prisma)#
npx prisma db push4. Start Development#
npm run devTips#
Review Before Scaffolding#
Always use --dry-run first:
bootspring seed scaffold --preset=nextjs --dry-runDon't Overwrite Existing Files#
Scaffold skips existing files by default. Use with confidence in existing projects:
# Safe - won't overwrite existing files
bootspring seed scaffold --preset=nextjsCustomize After Scaffolding#
Presets provide a starting point. Customize after scaffolding:
- Adjust component styles
- Modify API routes
- Add your business logic
- Configure providers
Related#
- Seed Overview - Full seed workflow
- Synthesize - Create SEED.md
- Configuration - Project configuration