# {{capProjectName}} — SQLite backend env. Copy to `.env` and adjust. # ── Environment ──────────────────────────────────────────────────────── # # DECLARE IT. Every `voltro db …` / `voltro migrate` invocation resolves an # UNSET `NODE_ENV` to `production` — the same way `voltro serve` and `voltro # start` do — so a bare `pnpm migrate` with no NODE_ENV refuses rather than # applying an un-reviewed diff to what might be a production database. It also # decides which `_voltro_*` bookkeeping tables the command declares, and a # migration command that resolves it differently from the serving process # declares a DIFFERENT schema. # # `voltro dev` declares `development` for itself and needs nothing from here; # this line is what makes the explicit schema commands work locally. NODE_ENV=development # ── Database (embedded SQLite) ───────────────────────────────────────── DB_DIALECT=sqlite # A file path keeps data across restarts (the `.data/` dir is gitignored): DB_URL=file:./.data/{{projectNameSnake}}.sqlite # Or an ephemeral, in-process DB that vanishes on exit (great for tests): # DB_URL=:memory: # Session signing secret — NO VALUE SHIPS HERE ON PURPOSE. # # `voltro dev` mints a unique one for this project into a gitignored # .env.local on first boot, so local development needs nothing from you. # A shipped placeholder would be a signing key published to everyone who # downloads this template, making every session in your deployment forgeable. # # Your DEPLOYMENT needs its own — `voltro serve` refuses to start without it: # voltro secret generate session VOLTRO_SESSION_SECRET=