seed
Getting Started
Overview

Overview

Seed is a set of tools understanding your database schema to help you generate production-accurate data.

It consists of the following parts:

  • Seed Client: Auto-generated and type-safe data client for Node.js & TypeScript 🛡️
  • Seed CLI: A CLI to generate and keep the data client in sync with your database 🛠️
  • Seed AI: Our custom model identifying the shape of your data 🤖

We are compatible with PostgreSQL and SQLite. MySQL support is coming soon.

Seed Client

Our data client is auto-generated from your database schema. We are using the full power of TypeScript to provide you with a type-safe and auto-completed experience when working with your data.

You can focus on the data that matter to you, we will take care of generating all the relationships. ✨

Here is a sneak peek of what you can do with Seed Client:

Are you working on a blog app and need 5 posts?


await seed.posts((x) => x(5))

Or maybe you need a user with a specific email?


await seed.users([
{ email: 'snappy@snaplet.dev' },
])

What if you want to create an organization with a varying number of members?


await seed.organizations([
{
name: 'Snaplet',
members: (x) => x({ min: 1, max: 10 }),
},
])

And this is just the beginning! Read the quick start guide to get started with Seed Client.

Seed CLI

The CLI is the entry point to Seed. It will help you generate the data client and keep it in sync with your database.

To begin your journey with Seed in seconds, run this command in your project directory:

>_ terminal

npx @snaplet/seed init

Checkout the Seed CLI reference to learn more about the CLI and how to use it.

Seed AI

We are using AI to have a deeper understanding of your datatabase schema so we can generate the most accurate and production-like data for you.

Join our Community

Connect with us on the Snaplet Discord (opens in a new tab), engage with a vibrant, supportive community, and get swag!

💬 Drop a greeting in our #chat channel!

🆘 Ask our team anything in our #help channel!

🤪 Share your projects or other interests in our #random channel!