OAR (Open Agent Runtime) is a provider-independent programming interface for coding-agent runtimes: a solid foundation for building agent workspaces and other applications.
Delete harness logic and focus on outcomes and UX.
Claude Code, Codex, Grok Build, Kimi Code, Pi
| Read | To answer |
|---|---|
| docs/design/ | Why oar exists and which design problems it treats as load-bearing |
| docs/spec/ | The concrete record-stream contract (record shapes, attribution, cursor) |
| docs/development.md | Working in this repo: validate changes, add a runtime, conventions |
| packages/cli/ | The oar executable, published separately as @botiverse/oar-cli |
The integrated agent-facing model and its implementation plan are
docs/design/system.md and
docs/design/roadmap.md.
import { promptAndWait, runtimes } from "@botiverse/oar";
const grok = runtimes.require("grok");
const installation = await grok.installation?.();
if (installation?.kind === "available") {
const session = await grok.session(installation, { cwd: process.cwd() });
session.subscribe((record) => {
if (record.kind === "event") {
for (const view of record.body.views) {
if (view.kind === "text_delta") process.stdout.write(view.text);
}
}
});
const run = await promptAndWait(session, "Inspect this repository");
console.log(run.kind === "ended" ? run.outcome : run.reason);
await session.dispose();
}npx @botiverse/oar-cli list
oar run claude "What does this repo do?" --record run.jsonlESM-only, requires Node.js 24+, Apache-2.0.
