Postgres without the detour
Start locally with PGlite. Add a Neon connection string when you need a hosted database.
Start a Next.js project or bring the backend to an existing app. Drizzle, Better Auth, and Postgres, connected.
npx donta-cli@latest create my-appStart with a database, working sign-in pages, and a protected dashboard.
Follow the quick startNode.js 20.12+ · Next.js App Router · MIT licensed
A preview of the real CLI. Your app stays yours.
Start locally with PGlite. Add a Neon connection string when you need a hosted database.
Email and password, sessions, and Drizzle tables. Wired up and ready for your app’s UI.
Read the files. Change the schema. Keep your stack. The setup gets out of your way.
Already building something?
donta detects your App Router layout, previews its changes, and adds the database and auth files alongside your code.
See exactly what gets addednpx donta-cli@latest add . --dry-runTypeScript · app/ or src/app/ · Existing auth and Drizzle setups require a manual merge. Connect your login UI after integration.
From your app to your database. Focus or hover a layer to see what’s connected.
Next.js App Router
email / password · sessions
schema · queries · migrations
PGlite locally · Neon hosted
Plain Drizzle and Better Auth files in your project. Change them like any other code.
import { createDb } from "donta/db";
import * as schema from "./schema";
// Neon over HTTP when DATABASE_URL is set, local PGlite in .donta/pglite otherwise.
export const { db, driver } = createDb({ schema });Open the wizard. Choose your starting point. Get back to building.
npx donta-cli@latest