Skip to content

Latest commit

History

577 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Ora Desktop

Ora is an IDE for AI agents. The shared Rust crates live in crates/, executable Rust packages live in apps/, and the shared TypeScript packages live in packages/. All Rust packages share the root Cargo workspace.

Architecture Docs

Runtime Docs

  • Desktop Runtime — Tauri commands, persistent paths, and configuration
  • ACP Agent Runtime — provider supervision, session lifecycle, agent switching, and flow control
  • Session MCP — ACP mcpServers injection, live refresh, prompt admission, and the boundary that keeps MCP out of Workspace files
  • Session History — Ora's own conversation record and the handoff between agents
  • Runtime Logging — configuration, JSON event contract, and Git command logging

Persistence Docs

Development

Install the Deno version pinned in .deno-version, Rust (see rust-toolchain.toml), Task, Git, ripgrep, and the Tauri system dependencies for your platform. Node.js and pnpm are not required. Run task install:frontend to install the locked npm dependencies with Deno and configure Git hooks.

See AGENTS.md for code conventions. Common commands:

  • task test — full lint and test suite for frontend and Rust workspace packages (long-running)
  • task lint — all lint tasks
  • task export-contracts — regenerate frontend contracts and plugin protocol bindings from Rust
  • task check:contracts — verify generated contracts without rewriting the checkout; LF and CRLF line endings are treated as equivalent while other content changes still fail

Toolchain versions

.deno-version is the Deno release pin consumed by CI and sidecar setup. Keep package.json's engines.deno in sync when changing it; deno task check:toolchain checks both the installed runtime and this declaration. The check runs before installation, tooling checks, and packaging. Sidecar setup verifies the content and native version of existing Deno and ripgrep binaries before reuse; see sidecar download verification. DENO_VERSION may only repeat the shared version, not override it.

The root package.json owns the workspace TypeScript version. All packages use its tsc and compiler API; child packages must not pin their own compiler. Deno's deno check uses the compiler bundled with the pinned Deno release, which currently matches the workspace compiler. Third-party tools such as ts-to-zod still depend on TypeScript 5 APIs; those transitive dependencies retain their supported versions instead of being forced across a major boundary.

About

Orchestration Runtime for Agents.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages