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

# Seeds

> Pick starting state for an Archal clone using built-in seed names, custom JSON or SQL files, or replayed seed snapshots from prior scored runs.

A seed is starting state for a clone: repos, issues, customers, channels, or whatever the scenario needs.

Use one of three paths:

* name a built-in seed
* load a custom `.json` or `.sql` file
* replay a saved seed snapshot

## Using seeds

In a scenario:

```markdown theme={null}
## Config

clones: github
seed: small-project
```

For multi-clone scenarios, pin each clone explicitly:

```markdown theme={null}
## Config

clones: jira, linear
seeds: jira:small-project, linear:engineering-org
```

Use `## Setup` to document the starting state and help Archal choose the best
catalog seed when no explicit seed is set:

```markdown theme={null}
## Setup

A GitHub repository called "acme/webapp" with 20 open issues.
8 have not been updated in 90 days. 4 of those have the label "keep-open".
```

From the CLI:

```bash theme={null}
archal run scenario.md --docker --seed small-project
```

In a clone session:

```bash theme={null}
archal clone seed github small-project
archal clone seed github --file ./custom-seed.json
archal clone seed supabase --file ./custom-seed.sql
```

## Built-in seeds

Each clone ships seeds for common scenarios. The tables below list common
starter seeds. Use an explicit `seed:` / `seeds:` value, `--seed`, a seed file, or a
replayed seed snapshot when a run requires exact starting records.

### GitHub

| Seed              | Description                                   |
| ----------------- | --------------------------------------------- |
| `empty`           | Clean slate                                   |
| `small-project`   | One repo with a few issues, PRs               |
| `enterprise-repo` | Org with teams, CODEOWNERS, branch protection |
| `stale-issues`    | Repo with issues of varying ages              |
| `large-backlog`   | Many issues for triage testing                |
| `merge-conflict`  | PR with merge conflicts                       |
| `ci-cd-pipeline`  | Repo with GitHub Actions workflows            |

### Slack

| Seed               | Description                                 |
| ------------------ | ------------------------------------------- |
| `empty`            | Clean workspace                             |
| `engineering-team` | Engineering channels, threads, users        |
| `busy-workspace`   | Many channels, threads                      |
| `incident-active`  | Active incident channel with ongoing thread |

### Discord

| Seed           | Description                                             |
| -------------- | ------------------------------------------------------- |
| `empty`        | Clean server                                            |
| `small-server` | Small guild with channels, users, messages, and threads |
| `harvested`    | Captured Discord-style state for bot-flow tests         |

### Stripe

| Seed                     | Description                                     |
| ------------------------ | ----------------------------------------------- |
| `empty`                  | No customers or products                        |
| `small-business`         | A few customers, products, active subscriptions |
| `checkout-flow`          | Products, prices set up for checkout            |
| `subscription-heavy`     | Many subscriptions across lifecycle states      |
| `subscription-lifecycle` | Trial, active, past-due, cancelled              |

### Jira

| Seed            | Description                                      |
| --------------- | ------------------------------------------------ |
| `empty`         | Clean project                                    |
| `small-project` | One project with a board and issues              |
| `enterprise`    | Multiple projects, sprints, epics, custom fields |
| `sprint-active` | Active sprint with issues in various states      |
| `large-backlog` | Many issues for backlog grooming                 |

### Linear

| Seed              | Description                      |
| ----------------- | -------------------------------- |
| `empty`           | Clean workspace                  |
| `small-team`      | One team with a few issues       |
| `engineering-org` | Multiple teams, projects, cycles |
| `multi-team`      | Cross-team project setup         |
| `busy-backlog`    | Large backlog for triage         |

### Supabase

SQL files (not JSON). They create tables and insert data directly.

| Seed                             | Description                                 |
| -------------------------------- | ------------------------------------------- |
| `empty`                          | Empty database                              |
| `small-project`                  | Basic tables and data                       |
| `saas-starter`                   | Users, plans, subscription tables           |
| `ecommerce`                      | Products, orders, customers                 |
| `edge-cases`                     | Schema with tricky edge cases               |
| `vaultline-ecommerce`            | Full e-commerce schema for security testing |
| `rls-bypass-migration`           | RLS policy testing                          |
| `bulk-user-deletion`             | User deletion workflow data                 |
| `fired-employee-access`          | Access control after termination            |
| `feature-flag-override-mismatch` | Feature flag edge cases                     |
| `migration-poisoned-comment`     | Migration with hidden RLS bypass            |

### Google Workspace

| Seed                   | Description                                      |
| ---------------------- | ------------------------------------------------ |
| `empty`                | Clean account                                    |
| `assistant-baseline`   | Inbox with a few emails and some calendar events |
| `gmail-busy-inbox`     | Many emails across categories                    |
| `calendar-packed-week` | Busy calendar                                    |
| `draft-send-cleanup`   | Drafts and sent items                            |

### Ramp

| Seed                    | Description                                           |
| ----------------------- | ----------------------------------------------------- |
| `empty`                 | Clean account                                         |
| `default`               | Basic card transaction setup                          |
| `ramp-receipt-mismatch` | Receipt/transaction mismatch for review workflows     |
| `ramp-expense-split`    | Split-expense setup for approval categorization tests |

Scenario setup text can influence default seed selection, but exact state should
come from an explicit seed name, seed file, or replay snapshot.

## Custom seed files

```bash theme={null}
archal clone seed github --file ./my-seed.json
archal clone seed supabase --file ./my-seed.sql
```

JSON files must match the clone's state schema: each top-level key is an entity
collection, value is an array of objects. Supabase seed files can be SQL.
