SeedCLI
Part 1
SeedCLI — Bootstrap Databases With One Command
A zero-config CLI to seed local databases with realistic, repeatable fixtures for fast iteration.
Published:
Node.jsTypeScriptCLIVercel
Live: seedcli.vercel.app
SeedCLI is a tiny command-line tool that solves a boring but constant pain: getting a fresh local database into a useful state without copy-pasting SQL or hand-writing seed scripts every time.
The problem
Every new project starts the same way:
- Spin up Postgres / MySQL / SQLite.
- Run migrations.
- Realize the app is empty and useless.
- Write a throwaway seed script.
- Repeat for every teammate.
Existing seeders are either ORM-coupled, framework-locked, or require a heavy schema definition before you can do anything.
What SeedCLI does
- One command, opinionated defaults. Point it at a connection string and it produces realistic fixtures for the tables it can introspect.
- Repeatable runs. Same seed value → same data. Great for reproducing bugs.
- Schema-aware. Reads your tables, infers column types, and generates appropriate fake data (names, emails, dates, JSON blobs).
- Pluggable generators. Override any column with a custom faker function.
Why I built it
I kept rewriting the same seed.ts file across side projects. SeedCLI is the version of that script I wish existed — one binary, no per-project boilerplate, no ORM dependency.
Stack
- TypeScript + Node.
- Tiny landing page on Vercel (seedcli.vercel.app) with install instructions and a live demo of the generator output.
- Distributed as an
npx-able package — no global install required.
What’s next
- Postgres extensions: schemas, JSONB, arrays.
- Prisma / Drizzle adapters for typed overrides.
- A
--watchmode that re-seeds on schema changes.