/** * `--db ` - wire a Drizzle data layer into a freshly scaffolded app, so a human (or a coding * agent) starts from a correct, production-grade DB setup instead of inventing one. nifra ships NO DB * abstraction (that belongs to Drizzle/libSQL, not a web framework) - this just bundles the existing * tool, the Redwood-style "batteries available" move: a starter schema, a typed client, a migration * config, scripts, and env, all rip-out-able. * * Three presets, by runtime fit: * - drizzle-libsql - SQLite that runs EVERYWHERE incl. the edge (local file, or Turso). The default * cross-runtime answer. * - drizzle-postgres - Postgres (postgres.js) on Bun/Node/Deno. * - drizzle-sqlite - Bun's built-in `bun:sqlite` (sync, local file). Bun-only. * * The starter `notes` table follows the production-grade DB defaults for its dialect; what a dialect * can't express inline (CHECK constraints, RLS, uuidv7) is called out in a comment, per those rules. */ export declare const DB_CHOICES: readonly ["drizzle-libsql", "drizzle-postgres", "drizzle-sqlite", "prisma-postgres", "prisma-sqlite", "kysely-postgres"]; export type DbChoice = (typeof DB_CHOICES)[number]; /** ORM family of a preset - drives the auth adapter, the AGENTS DB rules, and the `c.db` query idiom. */ export type Orm = "drizzle" | "prisma" | "kysely"; export interface DbPreset { /** Human label for messages, e.g. "Drizzle + libSQL". */ readonly label: string; /** Which ORM/query-layer this preset wires (its query idiom + migration story differ). */ readonly orm: Orm; /** SQL dialect, for the auth adapter's `provider` mapping. */ readonly dialect: "postgres" | "sqlite"; /** One-line runtime-fit note (next-steps message + AGENTS.md). */ readonly note: string; readonly deps: Readonly>; readonly devDeps: Readonly>; readonly scripts: Readonly>; /** Relative path → file contents to write into the scaffolded app. */ readonly files: Readonly>; } export declare const DB_PRESETS: Readonly>; /** Write a DB preset's files into `target` and ensure local DB artifacts + .env are gitignored. */ export declare function writeDbFiles(target: string, choice: DbChoice): Promise; //# sourceMappingURL=db.d.ts.map