Skip to main content
Find the export you need, the package it comes from, and the page that shows it running. Every package needs Node.js 22.12 or later; the tool rows below say what else each one needs.

Exports

Import from the package named in the row:
examples/teams/writer-reviewer-pair.ts (excerpt)

Tools

Each row says what the tool is, what you need installed, and where its home is.
  • Claude Code. @obversa/engine-claude-cli runs each request in a fresh Claude Code process. You need Claude Code installed and signed in. Home: claude.com/code.
  • Codex CLI. @obversa/engine-codex-cli runs each request in a fresh Codex CLI process. You need the Codex CLI installed and signed in. Home: github.com/openai/codex.
  • OpenCode CLI. @obversa/engine-opencode-cli runs each request in a fresh OpenCode process with a clean environment, so your own sign-in isn’t used. You need OpenCode 1.18.23 installed, and you pass your provider’s credentials through the engine’s auth or environment option. Home: opencode.ai.
  • Grok CLI. @obversa/engine-grok-cli runs each request in a fresh Grok CLI process with a clean environment, so your own sign-in isn’t used. You need Grok CLI 1.0.5 installed, and you pass your credentials through the engine’s environment or authFile option. Home: docs.x.ai/build/cli/headless-scripting.
  • Anthropic API. @obversa/engine-anthropic-api sends each request to the Anthropic API. You need an Anthropic API key. Home: console.anthropic.com.
  • Claude Agent SDK. @obversa/engine-claude-agent-sdk runs each request through the Claude Agent SDK. You need Claude Code signed in on the same machine, because the SDK uses its sign-in. Home: github.com/anthropics/claude-agent-sdk.
  • Jev API. @obversa/engine-jev-api answers structured questions about a run’s recorded state. It never reads or edits files. You need a Jev endpoint and an API key. See Jev API Engine.
  • In-process memory. @obversa/memory-simple keeps memory inside one process. You need nothing else. Home: Simple Memory.
  • Git-backed memory. @obversa/memory-git stores memory in private Git references, so nothing lands in the working tree, and can write a stage’s reasoning into the commit that carries its change. You need Git installed. Home: Git Memory.
  • Markdown search. @obversa/memory-markdown selects ranked passages from a local folder of Markdown files and gives ground the selected files through a read-only memory view. You need nothing else. Home: Markdown Memory.
  • Webhook notifications. @obversa/notify-webhook posts one message per interesting run event to a URL you supply; the body carries a text field, so a Slack, Discord or Teams incoming webhook shows it with no code of its own. You need a URL to post to. Home: Webhook Notifications.
  • The review command. @obversa/surface-diff ships obversa-review, which opens a diff for inline review. You need Git. See Review a diff in a host pane.
  • The cmux host. The cmux glue opens surfaces as browser splits beside the terminal and one editor window with the two worktrees. You need cmux installed. Home: Obversa in cmux.
  • Plannotator. Plannotator opens its review page in a split through the PLANNOTATOR_BROWSER variable the workspace launcher sets. You need Plannotator installed. Home: github.com/backnotprop/plannotator.

Packages

The api, core, runtime and runner packages share one version. The runtime never imports an engine or a memory adapter: you pass the ones you want when you run.

Pages

Packages. Obversa, Runtime, Runner, API, Core, Built-in Workflows, Surface, Surface Diff. Engines. Claude CLI, Codex CLI, Grok CLI, OpenCode CLI, Claude Agent SDK, Anthropic API, Jev API. Coming soon: eve, Mastra, LangGraph. Memory and notifications. Git Memory, Simple Memory, Markdown Memory, Webhook Notifications.

Next steps

  • Installation: set a project up and run the first file.
  • Runtime: the package most files import from.
  • Examples: complete teams that use these exports.