Skip to content

Run from source

This page is for contributors and integrators who want to run Nimbus directly from the source tree — for example, to test a local change to a connector or to debug Gateway behaviour. End users should follow Install instead.


Dependency Version Notes
Bun v1.2 or newer Verify with bun --version.
Git any recent The build embeds the short SHA and dirty flag.
Linux only: libsecret-1-dev system package Required by the Vault. sudo apt install libsecret-1-dev on Debian / Ubuntu.
Optional: Rust toolchain stable Only needed if building the Tauri desktop UI under packages/ui.

bun run dev-doctor from the repo root checks every requirement above and prints actionable remediation for anything missing.


Terminal window
git clone https://github.com/nimbus-agent/Nimbus.git
cd Nimbus
bun install

The first bun install resolves the workspace and downloads sharp and @xenova/transformers for the local embedding pipeline. This can take a minute on a first-time install and is cached for subsequent runs.


In one terminal, start the Gateway in the foreground (logs stream to stdout):

Terminal window
bun run --filter @nimbus/gateway dev

In a second terminal, run the CLI against the running Gateway:

Terminal window
bun run --filter @nimbus/cli dev -- ask "what is in my Drive?"

Or use the built binary if you have added packages/cli/dist to your PATH:

Terminal window
nimbus ask "what is in my Drive?"

Package Role
packages/gateway The Gateway — JSON-RPC IPC, agent runtime, MCP mesh, Vault, local SQLite index.
packages/cli The nimbus command — thin client, talks to the Gateway over the local socket.
packages/ui The Tauri 2.0 desktop app (Rust shell + React renderer).
packages/mcp-connectors/* First-party MCP servers (Google Drive, Gmail, GitHub, Slack, Linear, etc.).

The Gateway never imports from the CLI or UI; clients communicate with the Gateway exclusively over JSON-RPC. See the Architecture overview for the full subsystem map.


Terminal window
bun run typecheck # Strict TypeScript check across the workspace
bun run lint # Biome (format + lint)
bun test # Unit + integration tests
bun run test:integration # Integration tests against real SQLite
bun run docs:build # Build this documentation site
bun run dev-doctor # Contributor environment health check

The full command catalogue lives in the repository’s CLAUDE.md and the per-package package.json files.


  • Read the Architecture overview before touching the Engine, Vault, or HITL executor.
  • For connector authoring, see the contributor walkthrough at docs/contributors/extension-author-walkthrough.md in the repository.
  • Review the contributor checklist at docs/CONTRIBUTING.md before opening a pull request.