stablyai / orca
Get started
Taken from the repository's own files on 23 Oct 2026. RepoPilot has not run these commands.
Prerequisites
node 24from package.jsonpnpm@12.14.0from package.json
Commands
package.json| Task | Run | What it runs |
|---|---|---|
| dev | pnpm run dev | pnpm run build:packages && pnpm run ensure:electron-runtime && node config/scripts/run-electron-vite-dev.mjs |
| start | pnpm run start | pnpm run build:packages && pnpm run ensure:electron-runtime && electron-vite preview |
| build | pnpm run build | pnpm run build:desktop && pnpm run build:native |
| test | pnpm run test | pnpm run build:packages && node config/scripts/ensure-native-runtime.mjs --runtime=node && node config/scripts/run-vitest.mjs run --config config/vitest.config.ts |
| lint | pnpm run lint | oxlint && pnpm run audit:anti-slop && pnpm run audit:code-quality:native && pnpm run audit:code-quality:type-aware && pnpm run check:reliability-gates && pnpm run check:dead-classes && pnpm run check:max-lines-ratchet && pnpm run check:ts-nocheck-ratchet && pnpm run check:runtime-electron-ratchet && pnpm run check:focus-read-ratchet && pnpm run check:layout-writer-ratchets && pnpm run check:path-literal-ratchet && pnpm run check:legacy-relay-fence-ratchet && pnpm run check:unproven-pty-retirement-ratchet && pnpm run check:id-only-store-write-ratchet && pnpm run check:repo-host-read-ratchet && pnpm run check:workspace-record-read-ratchet && pnpm run check:host-list-render-ratchet && pnpm run check:readme-local-links && pnpm run check:node-runtime-pin && pnpm run check:mobile-shared-dependency-versions && pnpm run verify:rpc-params-catalog && pnpm run verify:acp-protocol && pnpm run verify:bundled-skill-guides && pnpm run verify:skill-bundle-manifest && pnpm run verify:localization-catalogs && pnpm run verify:localization-extraction && pnpm run verify:localization-coverage && pnpm run check:process-host-imports && pnpm run check:main-sync-spawn-ratchet && pnpm run check:compat-boundary-imports |
| typecheck | pnpm run typecheck | pnpm run build:packages && node config/scripts/run-typecheck-projects-in-parallel.mjs |
Install and use
README.mdDesktop — macOS, Windows, Linux
- Download from onOrca.dev
- Or grab a build directly: macOS Apple Silicon · macOS Intel · Windows (.exe) · Linux AppImage · All builds
Or via a package manager:
# macOS (Homebrew)
brew install --cask stablyai/orca/orca
# Arch Linux (AUR) — or stably-orca-git to build from source
yay -S stably-orca-bin
Mobile Companion — iOS, Android
Pair with your desktop app to monitor and steer your agents from your phone.
- iOS: Download on the App Store
- Android: Download APK · Install guide
Developing
.github/CONTRIBUTING.mdInstall Node 24, pnpm, and the Bun version in config/.bun-version.
pnpm test runs Vitest on Bun, with Node workers for runtime contracts such as SQLite,
native PTYs, socket liveness, and V8 memory behavior. pnpm test:node runs the same suites
entirely on Node. Builds and dependency installation still use Node and pnpm.
pnpm install
pnpm dev
To reduce main-process rebuild CPU and memory when you do not need its source maps,
set ORCA_DEV_MAIN_SOURCEMAPS=0 before pnpm dev. In Bash/zsh:
ORCA_DEV_MAIN_SOURCEMAPS=0 pnpm dev
In PowerShell, use $env:ORCA_DEV_MAIN_SOURCEMAPS='0' before pnpm dev.
Remove the variable when debugging the main process with source maps. Renderer and
preload settings are unaffected; production builds always keep their hidden main maps.
Local installs use pnpm's global virtual store: each package version is one slot
under ~/pnpm/store that every worktree links to, instead of a full node_modules per worktree.
An existing worktree converts on its next pnpm install, and an older branch without the setting
converts back the same way. CI always uses the normal layout. On Windows, pnpm links with
junctions when you lack the symlink privilege, so no administrator rights or Developer Mode are
needed. Things to know:
- Keep
~/node_modules(and any othernode_modulesabove the store) out of your home directory. Node resolves upward from the store slot, so a stray one there supplies dependencies the package never declared and hides missing-dependency bugs;pnpm installwarns when it finds one. - Native addons are never rebuilt in place in a shared slot: each CPU gets its own build
beside it (see
native-build-entry.cjs), so cross-arch packaging is safe for other worktrees. ORCA_PNPM_GLOBAL_VIRTUAL_STORE=0opts out. Keep it set in your shell:pnpm runre-checks the install and relinks a worktree whose layout no longer matches.