> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ellomas.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get started with Seedling in 5 minutes.

# Quickstart

This guide walks through the core workflow: introspect a database, generate test data, and customize the output.

## Prerequisites

* A running Postgres or MySQL database with schema
* Go 1.25+ (for CLI installation)

## 1. Install Seedling

```bash theme={null}
go install github.com/tomiwa-a/seedling/cmd/seedling@latest
```

Or use Docker:

```bash theme={null}
docker build -t seedling https://github.com/tomiwa-a/seedling.git
```

## 2. Introspect Your Schema

Point Seedling at your database to produce a schema file:

```bash theme={null}
seedling introspect --db postgres://localhost:5432/mydb --output schema.yaml
```

This queries `information_schema` and writes a YAML file containing all tables, columns, types, foreign keys, and constraints.

For MySQL:

```bash theme={null}
seedling introspect --db mysql://user:pass@localhost:3306/mydb --output schema.yaml
```

## 3. Generate Test Data

Generate 100 rows per root table:

```bash theme={null}
seedling generate --schema schema.yaml --count 100 --output seed.sql
```

This produces a SQL file with `INSERT INTO` statements respecting FK dependencies, unique constraints, and column types.

## 4. Verify the Output

```bash theme={null}
# Count INSERT statements
grep -c "^INSERT" seed.sql

# Load into your test database
psql -d mytestdb -f seed.sql
```

## 5. Generate Deterministically (Optional)

Use a fixed seed for reproducible output:

```bash theme={null}
seedling generate --count 1000 --seed 42 --output seed.sql
```

Run it again — the output is byte-identical.

## What's Next?

* Learn about [installation options](/seedling/installation)
* Dive into [how Seedling works](/seedling/how-it-works)
* Explore [generator overrides](/seedling/generators/overrides)
