A terminal UI database client for PostgreSQL, MySQL, SQLite3, Oracle and SQL Server, written in Go.
supabase-community/seed
Seed automatically fills a database with production-like dummy data generated from your schema, for local development and testing.
- Stars
- 788
- Forks
- 37
- Open issues
- 25
- Last commit
- last month
What is it?
Seed is a TypeScript tool that generates realistic dummy data for a database based on its schema. It determines column values automatically, so developers only need to specify the values they care about, and it adds built-in reference data such as country lists and currency codes by default.
It creates related records automatically, so you do not have to track foreign-key IDs across tables when defining data. Seed generates a type-safe TypeScript client from your database structure, letting you write seed data with the full TypeScript and Node.js ecosystem. Data generation uses Copycat and is deterministic, so the same inputs always produce the same output, which suits repeatable tests.
Optionally, an LLM (via OpenAI or Groq API keys) can generate example values for text columns. These examples are saved to a editable JSON file, and running a sync command regenerates them from updated column descriptions.
Key features
- 01Automatically infers column values from the database schema.
- 02Creates related records without manual ID tracking.
- 03Generates a type-safe TypeScript client from your database structure.
- 04Deterministic data generation for repeatable tests.
- 05Optional LLM-generated example values for text columns via OpenAI or Groq.
Use cases
- Populating a local development database with realistic data.
- Creating consistent fixtures for automated tests.
- Generating text examples for text columns with an LLM.
Quick start
- 1
Try out Seed by running the init command
npx @snaplet/seed init
Things to know
- AI-generated examples require an OpenAI or Groq API key.
- Contributing setup relies on Nix and devenv, which adds significant setup overhead.
In collections
Topics
FAQ
- What is seed?
- Seed automatically fills a database with production-like dummy data generated from your schema, for local development and testing. Seed is a TypeScript tool that generates realistic dummy data for a database based on its schema. It determines column values automatically, so developers only need to specify the values they care about, and it adds built-in reference data such as country lists and currency codes by default.
- Is seed free to use? What license does it have?
- seed is open source under the MIT license. Check the license terms before using it in commercial products.
- Is seed still maintained?
- Updated within 6 months. The last commit to seed was on Oct 1, 2026.
- What can I use seed for?
- Populating a local development database with realistic data. Creating consistent fixtures for automated tests. Generating text examples for text columns with an LLM.
- How do I install seed?
- Try out Seed by running the init command: npx @snaplet/seed init
- Where can I get seed?
- The source code and installation instructions are on GitHub: https://github.com/supabase-community/seed
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Python package that generates fake data such as names, addresses, text and more, for seeding databases, testing and anonymizing data.
A Go library that generates random fake data such as names, addresses, emails, companies, and structured files for testing and seeding.
A Python library that generates fake but realistic data such as names, addresses, emails and financial values across 47 locales.
A Java/Kotlin/Groovy library for generating realistic fake data such as names, addresses, and company details for tests and demos.
A pytest plugin that copies test data directories into temporary folders so tests can safely read and modify fixture files.