Two end-to-end Orca flows you can seed and run with one command. Each ships a
create-test-project.sh that copies a small starter (in the example's
test-project/) into a temp dir, inits git, and copies the flow script — one of
the .sc files in examples/ — alongside it.
| Example | When to use it |
|---|---|
| 01-simple | One-shot planning + coding for small tasks. Autonomous planner; the plan is in memory — no resume, no on-disk state. |
| 02-interactive | Same shape as 01, but the planner can ask clarifying questions via the ask_user MCP tool. Use when the prompt is open-ended. |
The other flow scripts in examples/ (epic.sc, issue-pr.sc,
issue-pr-bugfix.sc, implement-enhanced.sc) have no seed harness — run them
against your own git repo.
Both examples expect:
- JDK 21+ and scala-cli.
claudeCLI logged in (claude auth login— see the repo root README).cargoon PATH — both seed a small Rust calculator crate.
Seed a project:
./examples/runnable/01-simple/create-test-project.sh
# or pass an explicit destination:
./examples/runnable/01-simple/create-test-project.sh /tmp/orca-demoEach script prints the next-step command (a scala-cli run of the example's
.sc file) when it's done. Edit the example's test-project/ for a different
starter.
Pass --run to seed the project and then immediately cd into it and execute
the printed scala-cli run ... with the example's suggested prompt:
./examples/runnable/01-simple/create-test-project.sh --runIf you're hacking on Orca itself and want the example to pick up your in-tree
changes rather than the published Maven Central artifact, pass --local:
./examples/runnable/01-simple/create-test-project.sh --localIt runs sbt publishLocal in the orca checkout, reads the dynver-derived
version, and rewrites the copied flow script to pin that version with
//> using repository ivy2Local. Without --local, the flow resolves from
Maven Central.
The repo root README has a glyph legend for the rendered output. The full design rationale lives in ADR 0008.