Skip to content

CLI reference

The oe binary is the primary interface to OpenExpertise. Install once:

bash
npm install -g @openexpertise/cli

Then use:

bash
oe <command> [options]

When developing from source (after pnpm -r build), you can also invoke via:

bash
node packages/cli/dist/bin.js <command> [options]

All examples on this page use the short oe form.

Verbs at a glance

CommandPurpose
oe diffList pending evolution proposals
oe evolveGenerate evolution proposals for one run or across several runs
oe graphRender an experience's DAG as a Mermaid diagram
oe initScaffold a new experience directory from a template
oe inspectRender a run trace, or an HTML run report (--html)
oe reset-stateDelete the persistent state blackboard (destructive)
oe resumeRe-run an experience with cached results from a prior run
oe runExecute an experience
oe schemaPrint the experience.yaml JSON Schema (editor autocomplete)
oe stateInspect the persistent state blackboard
oe ultraLLM-author a new experience from a natural-language description
oe ultra-reviseApply natural-language feedback to an existing draft
oe validateValidate an experience.yaml file or directory

Global flags

These flags are accepted by every command and must be placed before the subcommand name.

FlagDescriptionDefault
--log-format <fmt>Log format: json or prettypretty
--log-level <level>Log verbosity: info, debug, warn, or errorinfo
-V, --versionPrint the oe version and exit
-h, --helpDisplay help and exit

Example — machine-readable JSON logs:

bash
oe --log-format json --log-level debug run examples/hello-tool

Standard exit codes

CodeMeaning
0Success
1Runtime failure (experience error, file not found, LLM error, etc.)
2Invalid invocation (bad flag value, missing required argument)

Environment variables

VariableUsed byPurpose
ANTHROPIC_API_KEYrun, resume, evolve, ultra, ultra-reviseAuthenticates against the Anthropic API; selects Anthropic as the default LLM provider
OPENAI_API_KEYrun, resume, evolve, ultra, ultra-reviseAuthenticates against the OpenAI API; selects OpenAI as the default LLM provider when ANTHROPIC_API_KEY is absent
OPENAI_BASE_URLrun, resume, evolve, ultra, ultra-reviseOverride the OpenAI-compatible endpoint (e.g. for vLLM or Ollama)
OE_ULTRA_SCORE_BARultra, ultra-reviseQuality-loop pass bar (0–100, default 80)
OE_ULTRA_CRITIC_MODELultra, ultra-reviseOverride the critic model used by the quality loop (same provider as the author)

When both ANTHROPIC_API_KEY and OPENAI_API_KEY are set, Anthropic takes precedence unless --llm openai is passed. oe graph and oe schema are pure transforms and require no API key.

Commands by use case

Author

CommandWhen to use
oe initBootstrap a new experience directory from a starter template
oe ultraDescribe a task in plain English; let the LLM write the YAML for you
oe ultra-reviseSteer an existing draft with natural-language feedback
oe schemaEmit the JSON Schema to wire editor autocomplete into a project

Validate

CommandWhen to use
oe validateCheck YAML syntax and schema correctness before running
oe graphRender the experience's DAG as a Mermaid flowchart — stdout (paste into a README), --html for a standalone page, -o <file> to write, --lr for left-to-right layout. Pure transform; no API key.
oe schemaEmit the experience.yaml JSON Schema for editor autocomplete — stdout, or --write to save experience.schema.json. Pure transform; no API key.

Run

CommandWhen to use
oe runExecute an experience from scratch
oe resumeRe-run, reusing cached node results from a prior run

Inspect

CommandWhen to use
oe inspectReplay the event log, or render an HTML run report with --html
oe stateRead current values from the SQLite blackboard
oe diffPreview pending evolution proposals

Evolve

CommandWhen to use
oe evolveAsk the LLM advisor to analyse a run (or --runs a,b,c across several) and propose improvements
oe diffSee what proposals are waiting to be reviewed

Reset

CommandWhen to use
oe reset-stateWipe the SQLite blackboard to start with a clean slate

See also

Released under the MIT License.