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:

  1. Spin up Postgres / MySQL / SQLite.
  2. Run migrations.
  3. Realize the app is empty and useless.
  4. Write a throwaway seed script.
  5. 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 --watch mode that re-seeds on schema changes.