Welcome to Seedmancer: reset your database in seconds
Seedmancer is a schema-first seed data manager for PostgreSQL and MySQL. Here’s why we built it and how to get from install to a reproducible test database in under five minutes.
Most teams have the same painful pattern in their test suite: a Postgres database that drifts out of sync with the scenarios their tests assume. Someone updates a fixture, another person tweaks a seed script, CI starts failing on a Tuesday for reasons no one can reproduce locally. Sound familiar?
Seedmancer exists to make “reset the database to a known state” a one-line command — locally, in CI, and across your whole team. This first post is a quick tour of what it is, why we built it, and how to try it in the next five minutes.
What Seedmancer actually does
Seedmancer is a schema-first seed data manager for PostgreSQL and MySQL. The unit of reuse is a dataset: a content-addressed snapshot of your schema fingerprint plus the CSV files that fill it.
- Export dumps your current database into a clean, human-readable folder of CSVs tied to a schema fingerprint.
- Seed restores any dataset back into a target environment in seconds, with safety rails for production-like names.
- Generate uses your real schema to produce scenario-based data — “a premium user with three teammates and an expired trial” — without you hand-rolling fixtures.
The five-minute quick start
The CLI is open source and ships as a single static binary. Install it with Homebrew, point it at a database, and you’re done:
brew install KazanKK/seedmancer/seedmancer
cd your-project
seedmancer init
seedmancer export --id baseline
seedmancer seed --id baseline
That’s the entire loop. export creates a baseline, seed puts you back
to that baseline whenever you want. Run it before every Playwright or
Cypress suite and your tests stop depending on whatever state the previous
run left behind.
Why schema-first matters
A lot of seed tooling pins data to a fragile name like seed.sql or
fixtures/users.json. The moment the schema changes, those files silently
rot. Seedmancer takes a different approach: every dataset is bound to a
content-addressed fingerprint of the schema it was captured against.
If you change the schema, Seedmancer knows. You either regenerate the dataset against the new fingerprint or migrate it explicitly. There’s no “mystery dataset that used to work” drifting around your repo.
Built for agents and humans
The CLI ships an MCP server out of the box, so AI agents can call
Seedmancer the same way you would: list datasets, describe a schema, seed
an environment, generate scenario data. If you’re using Cursor, Claude
Code, or any MCP-aware host, point it at seedmancer mcp and your agent
gets typed tools instead of guessing at shell flags.
Where to go next
The fastest way to get a feel for it is the docs — every command has a worked example, including how to wire it into Playwright, Cypress, and CI:
- Read the CLI documentation
- Star the open-source CLI on GitHub
- Create a free account for cloud generate, sync, and fetch
We’ll be using this blog to share patterns, deeper architecture notes, and the occasional debugging story. If there’s something specific you’d like us to write about, drop us a note.