Orchard#

Define reproducible application state as code.

Orchard is a CLI that lets teams define, compose, and execute scenarios — declarative descriptions of complex application state — using HCL. Instead of writing ad-hoc seeding scripts, teams describe what state they want and Orchard builds it: inserting database rows, calling APIs, running scripts, and wiring outputs between steps automatically.

  • Scenario language, not fixture language#

    Describe the state you want — a merchant with three failed payments, an org with SSO enabled and a suspended user — and Orchard composes the rows, calls, and side effects that produce it.

  • Reproducible by design#

    Same inputs, same state. Components are reusable building blocks; scenarios compose them into complete environments you can stand up, tear down, and share.

Quick start#

go install github.com/pthm/orchard@latest
orchard init my-project && cd my-project
orchard plan scenarios/hello.hcl --var dsn="postgres://localhost/dev"
orchard run  scenarios/hello.hcl --var dsn="postgres://localhost/dev"

Learn more#

  • Getting started — install the CLI and run your first scenario
  • Concepts — scenarios, components, providers, and how they fit together
  • Providers — reference documentation for built-in providers
  • Guides — worked examples: demo data, UAT, local dev, integration testing
  • Extending — build your own provider
  • Reference — HCL schema, CLI, expressions