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.
crates/
cori-cli/ # The `cori` binary — CLI surface, command dispatch
cori-core/ # Core types, manifest parsing, workflow graph
cori-compiler/ # TypeScript step compilation and caching
cori-planner/ # Assigns steps to task queues
cori-worker/ # Temporal activity worker implementation
cori-broker/ # Trust boundary for activity execution
cori-temporal/ # Temporal client wrapper and auto-spawn logic
cori-sdk-types/ # Shared types between Rust and TypeScriptTypeScript packages
The TypeScript side is a pnpm workspace.
packages/
sdk/ # @cori-do/sdk — step constructors for workflow authors
skill/ # The cori_save_workflow agent skillOther
examples/
hello_world/ # Minimal example workflow for the quickstart
translate_product_sheets_fr/ # Canonical example from the cookbook
docs/ # This documentation site (Fumadocs + Next.js)Requirements
- Rust: edition 2024, MSRV specified in the root
Cargo.toml - Node.js: ≥ 20 for TypeScript step execution and the
packages/workspace - pnpm: used for the Node.js workspace (
pnpm-workspace.yaml)
Check the repository's AGENTS.md for the current MSRV and any additional prerequisites.