Modules

Browse ds-start modules — complete functional blocks you can bolt onto any Next.js app.

Modules in ds-start are functional blocks: end-to-end capabilities (UI + server + env/schema + conventions) that compose with the foundation. They build on libraries like shadcn/ui and Better Auth — they are not raw component packs.

See Philosophy for the block bar, preset model, and what “done” means for new modules. Reference pattern: forms and email.

Available Modules

Data & Auth

ModuleDescriptionPrerequisites
PrismaPrisma 6 ORM with PostgreSQLNone
DrizzleDrizzle ORM with PostgreSQLNone (mutually exclusive with Prisma)
Better AuthEmail/password + OAuth authenticationPrisma or Drizzle
ClerkManaged authentication with pre-built UINone
StripeSubscription billing and paymentsAuth or Clerk

Features

ModuleDescriptionPrerequisites
EmailTransactional email with ResendNone
File UploadsS3-compatible file uploadsNone
ZustandClient state managementNone
FormsJSON-driven form rendererNone

DevOps

ModuleDescriptionPrerequisites
GitHub WorkflowsCI pipeline with GitHub ActionsNone
Vercel DeployCD pipeline for VercelGitHub Workflows

Adding Modules

Select modules through the interactive wizard when running npx ds-start init, or specify them with flags:

npx ds-start init my-app --prisma --auth --stripe

Use --base to scaffold the foundation without any modules, then add them later:

npx ds-start add email
npx ds-start add forms

Presets are curated, verified combinations of blocks. Prefer presets when you want a known-good starting set; use add when composing onto an existing app.

On this page