Skip to main content
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
  • describe state in ## Setup
  • load a custom .json or .md file

Using seeds

In a scenario:
## Config

clones: github
seed: small-project
Or describe state in ## Setup:
## 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:
archal run scenario.md --docker --seed small-project
In a clone session:
archal clone seed github small-project
archal clone seed github --file ./custom-seed.json
archal clone seed github --file ./custom-seed.md

Built-in seeds

Each clone ships seeds for common scenarios. The tables below list the common starter seeds; scenario-specific seeds also exist and load automatically when you run their matching scenarios.

GitHub

SeedDescription
emptyClean slate
small-projectOne repo with a few issues and PRs
enterprise-repoOrg with teams, CODEOWNERS, branch protection
stale-issuesRepo with issues of varying ages
large-backlogMany issues for triage testing
merge-conflictPR with merge conflicts
ci-cd-pipelineRepo with GitHub Actions workflows

Slack

SeedDescription
emptyClean workspace
engineering-teamEngineering channels, threads, users
busy-workspaceMany channels and threads
incident-activeActive incident channel with ongoing thread

Discord

SeedDescription
emptyClean server
small-serverSmall guild with channels, users, messages, and threads
harvestedCaptured Discord-style state for bot-flow tests

Stripe

SeedDescription
emptyNo customers or products
small-businessA few customers, products, active subscriptions
checkout-flowProducts and prices set up for checkout
subscription-heavyMany subscriptions across lifecycle states
subscription-lifecycleTrial, active, past-due, cancelled

Jira

SeedDescription
emptyClean project
small-projectOne project with a board and issues
enterpriseMultiple projects, sprints, epics, custom fields
sprint-activeActive sprint with issues in various states
large-backlogMany issues for backlog grooming

Linear

SeedDescription
emptyClean workspace
small-teamOne team with a few issues
engineering-orgMultiple teams, projects, cycles
multi-teamCross-team project setup
busy-backlogLarge backlog for triage

Supabase

SQL files (not JSON). They create tables and insert data directly.
SeedDescription
emptyEmpty database
small-projectBasic tables and data
saas-starterUsers, plans, subscription tables
ecommerceProducts, orders, customers
edge-casesSchema with tricky edge cases
vaultline-ecommerceFull e-commerce schema for security testing
rls-bypass-migrationRLS policy testing
bulk-user-deletionUser deletion workflow data
fired-employee-accessAccess control after termination
feature-flag-override-mismatchFeature flag edge cases
migration-poisoned-commentMigration with hidden RLS bypass

Google Workspace

SeedDescription
emptyClean account
assistant-baselineInbox with a few emails and some calendar events
gmail-busy-inboxMany emails across categories
calendar-packed-weekBusy calendar
draft-send-cleanupDrafts and sent items

Ramp

SeedDescription
emptyClean account
defaultBasic card and transaction setup
ramp-receipt-mismatchReceipt and transaction mismatch for review workflows
ramp-expense-splitSplit-expense setup for approval and categorization tests
Scenario-specific seeds load automatically when you run their matching scenarios.

Custom seed files

archal clone seed github --file ./my-seed.json
archal clone seed github --file ./my-seed.md
JSON files must match the clone’s state schema: each top-level key is an entity collection, value is an array of objects. Markdown files are natural-language seed descriptions; Archal turns them into clone state through the same seed generation path used for scenario ## Setup.