Features

Foundation, functional blocks, agent-first APIs.

Complete capabilities you bolt on with init or add— so agents and humans build product features, not plumbing. See Philosophy.

Interactive Wizard

Run npx ds-start init and the wizard guides you through three build paths. No flags required.

Recommended production starter

The full stack

Prisma + Postgres, Better Auth, transactional email, and GitHub Actions CI. The same preset applied by -y.

App with auth

Choose your auth provider

Pick Better Auth or Clerk, then select additional modules interactively. Good when you know you need auth but want to customize the rest.

Base app

Foundation only

The foundation stack with no modules. Same as --base. Add modules later with ds-start add.

Modules

Pre-integrated app features that compose on top of the foundation. Select them through the interactive wizard, include them with flags, or add them to an existing project later.

Add to an existing project

Run npx ds-start add email from inside a supported Next.js project. Auto-merges package.json and config files, prompts only for real conflicts.

Prisma--prisma

Prisma 6 ORM with PostgreSQL, PrismaPg adapter, typed JSONB via prisma-json-types-generator, and a singleton client.

Full authentication system with email/password, Google OAuth, forgot/reset password, route protection, and shadcn/ui forms. Requires --prisma.

Clerk--clerk

Managed authentication with pre-built sign-in/sign-up components, route protection, and organization support. No database required.

GitHub Workflows--github-workflows

CI pipeline for GitHub Actions: lint, typecheck, build on every PR. Runs on Blacksmith for faster builds. Includes varlock scan for secret leak detection.

Stripe--stripe

Billing and subscription management with Stripe. Includes webhook handling, customer portal, and plan management. Works with both Better Auth and Clerk. Requires --auth or --clerk.

Email--email

Transactional email with Resend for delivery and React Email for type-safe, previewable templates. Welcome emails, password resets, and invitations out of the box.

File Uploads--file-uploads

S3-compatible file uploads with presigned URLs, upload helpers, and a ready-made FileUpload component. Works with AWS S3, Cloudflare R2, MinIO, and Backblaze B2.

Zustand--zustand

Lightweight client state management. Provider-free, TypeScript-first stores with Redux DevTools support via devtools middleware.

Forms--forms

JSON-driven form renderer with classic, conversational, and multistep view modes. Define fields as a typed config, get validation and layout for free. Built on shadcn Form components (react-hook-form + zod). Overridable component map for custom field types.

Vercel Deploy--vercel-deploy

CD pipeline via Vercel CLI. Preview deploys on push to main, manual dispatch for production. Implies --github-workflows.

Composability

Modules compose because they share the same project conventions and declare the few dependencies that matter. Start with --base for the minimal foundation and add modules as you need them.

--auth requires --prisma

Better Auth uses Prisma as its database adapter.

--clerk works independently

Clerk manages users externally — no database required.

--clerk and --auth are mutually exclusive

One auth provider per project.

--stripe requires --auth or --clerk

Billing needs an auth provider to associate subscriptions with users.

--vercel-deploy implies --github-workflows

CD builds on the CI pipeline.

--forms + --file-uploads enables file field

The file field type uses the FileUpload component from the file-uploads module.

Everything else is independent

--email, --file-uploads, --zustand, --forms, --prisma, and --github-workflows mix and match freely.

Ready to start?

Scaffold a new app, then use the workflow page to see how agents work inside it.