Cori
Contributing

Repository layout

The Cori crate and package tree with one-line purposes — edition 2024, MSRV and Node requirements.

Rust crates

Cori is primarily a Rust project using Cargo workspace edition 2024 (MSRV 1.94).

crates/
  cori-cli/          # The `cori` binary — clap-derived commands, thin wrappers over `cori-run`
  cori-run/          # Run orchestration library — preflight, run_workflow, planner, temporal_endpoint,
                     # remote-ref resolver, workflow loader, paths, config, schedule store + cron driver
  cori-worker/       # Temporal worker: workflow + activities + runtime + runner
  cori-compiler/     # Manifest + step parsing → CompiledWorkflow (computes Placement)
  cori-broker/       # Capability broker (cli, code, mcp, llm, oauth, cli_auth) — trust boundary
  cori-ledger/       # Placeholder for cost analytics (mostly empty in v1)
  cori-manifest/     # YAML schema + parser (manifest.md frontmatter + body)
  cori-protocol/     # Wire types (CompiledWorkflow, Placement, WorkerIdentity, RunTrace, TokenUsage,
                     # task_queue_for, …) — shared across CLI, run library, and desktop app

Dependency direction (no cycles): cori-cli → cori-run; console/src-tauri (cori-console)cori-run, cori-worker. All → cori-protocol. cori-run depends on cori-broker, cori-compiler, cori-manifest, cori-worker, cori-protocol.

TypeScript / Deno packages

A pnpm workspace (pnpm-workspace.yaml globs packages/sdk and packages/runner, Node ≥ 20).

packages/
  sdk/               # @cori-do/sdk — step constructors users import in step files (`step.cli`, `step.code`, …)
  runner/            # Deno script that hosts `code` activities

Cori Console (desktop app)

console/
  src-tauri/         # Rust crate `cori-console` — Tauri v2 shell, IPC commands, sidecar supervisor,
                     # in-process worker, cron driver
  app/               # React Router v7 SPA (`ssr: false`) served by the Tauri webview

Build: pnpm install && pnpm --dir console build to populate console/build/client/, then cargo tauri build from console/src-tauri/. For development use cargo tauri dev, which starts the Vite dev server and the Tauri shell with hot reload.

Other

examples/
  hello_world/                       # Minimal example workflow for the quickstart
  translate_product_sheets_fr/       # Canonical example from the cookbook
  code_only/                         # Pure-code workflow demonstrating the `code` step kind

skills/                              # Cori agent skills (authored via `npx skills add cori-do/cori`)
docs/                                # This documentation site (Fumadocs + Next.js + Tailwind v4)
teaser/                              # Landing page (cori.do)
scripts/install.sh                   # One-line installer

Requirements

  • Rust: edition 2024, MSRV 1.94 (set in the root Cargo.toml)
  • Node.js: ≥ 20 for TypeScript step execution, the SDK package, and the Console SPA build
  • pnpm: used for the Node.js workspace (pnpm-workspace.yaml)
  • Tauri CLI: cargo install tauri-cli --version '^2' (or use cargo tauri via the workspace's [dependencies] pin in console/src-tauri/Cargo.toml)

On this page