A reactive, always-on agent platform for long-running orchestration workloads.
Corvus is a highly extensible, multi-interface agentic platform designed to bridge the gap between AI autonomy and human supervision. Built with a robust Kotlin Multiplatform foundation and powered by a high-performance Rust runtime, Corvus provides a secure, sandboxed environment for AI agents to perform complex, multi-step tasks.
- Features
- Tech Stack
- Project Structure
- Getting Started
- Development
- Documentation
- Contributing
- License
- Multi-Interface Support: Interact with Corvus via CLI, a Compose Multiplatform Desktop app, or a web-based dashboard.
- Always-On Autonomy: A daemon mode for long-running agents that can handle background tasks and persistent orchestration.
- Secure Sandboxing: Execute dangerous commands safely within isolated Docker containers or restricted native runtimes.
- Standardized Identity (AIEOS): Support for AIEOS v1.1, allowing for portable and model-agnostic AI personas.
- Hybrid Memory Model: Pluggable memory backends including SQLite and MCP-backed Cerebro for high-context retrieval.
- Rich Integrations: First-class support for WhatsApp (via Meta Cloud API), git, npm, cargo, and more.
- Core Logic: Kotlin Multiplatform (KMP)
- Agent Runtime: Rust (High-performance sidecars and CLI)
- Desktop UI: Compose Multiplatform
- Web Stack: Astro, Vue 3, and Tailwind CSS
- Documentation: Starlight
- Build System: Gradle & Makefile
This repository is organized as a monorepo:
corvus/
├── clients/
│ ├── agent-runtime/ # High-performance Rust Agent Core & CLI
│ ├── composeApp/ # Shared UI logic for Desktop/Mobile
│ ├── web/ # Web monorepo (Docs, Dashboard, Marketing)
│ ├── androidApp/ # Android specific wrapper
│ └── iosApp/ # iOS specific wrapper
├── modules/
│ ├── agent-core-kmp/ # Core Kotlin Multiplatform logic & contracts
│ └── cerebro/ # MCP-backed long-term memory service
├── dev/ # Local development environment (Docker/Sandbox)
├── gradle/ # Build logic and configurations
└── Makefile # Standard entry point for development tasks
- JDK 21+ (for Kotlin/KMP)
- Rust 1.75+ (for Agent Runtime)
- Node.js 22+ & pnpm 10+ (for Web Apps)
- Docker (optional, for Sandboxing)
- Clone the repository:
git clone https://github.com/dallay/corvus.git cd corvus - Run the initial setup (Recommended first step):
This command provides an automated "setup UI" that:
make setup
- ✅ Verifies your toolchain (Java, Node, pnpm, Rust, Docker).
- 🔗 Installs repository-specific Git Hooks for automated formatting and quality checks.
- 🔧 Configures internal AI agent settings and web dependencies.
- 💻 Works seamlessly on Windows (via Git Bash/WSL) and Linux/macOS.
Start the Compose Multiplatform Desktop application:
make runWe use a Makefile to standardize common operations:
| Command | Description |
|---|---|
make build |
Full build with tests |
make test |
Run all tests (Kotlin & Rust) |
make format |
Apply code formatting (Spotless & Biome) |
make check |
Run format, lint, and tests |
make sonar |
Reproduce the local monthly Sonar workflow |
make clean |
Remove build artifacts |
Use make sonar when you need to reproduce the monthly Sonar review locally before relying on the hosted SonarCloud workflow. This command generates the same main coverage inputs used by CI before invoking the local scanner.
Prerequisites:
SONAR_TOKENexported in your shellsonar-scanneravailable onPATH- The standard repo toolchain required by
make check-tools - Rust coverage tooling (
cargo install cargo-llvm-covandrustup component add llvm-tools-preview) - Web dependencies installed under
clients/web/node_modules(the target runspnpm --dir clients/web install --frozen-lockfilefor you)
What make sonar does:
- Validates Sonar credentials and scanner prerequisites fail-closed;
- Generates Kotlin Kover XML reports for
modules/agent-core-kmpandclients/composeApp; - Installs dashboard web dependencies and generates dashboard LCOV coverage;
- Generates Rust LCOV coverage at
coverage/agent-runtime-coverage.lcov; - Runs
scripts/sonar.shwith CI-aligned scanner arguments.
Local execution is intended to improve reproducibility and faster iteration, not to replace the hosted SonarCloud workflow as the repository’s final shared quality signal.
To test agents in a controlled environment, you can spin up the local dev stack:
make dev-up # Start proxy + Agent + Sandbox at http://corvus.localhost
./dev/cli.sh up-dashboard # Swap the landing page for the dashboard UI on the same origin
make dev-shell # Enter the Sandbox (Ubuntu)
make dev-down # Stop the environmentDetailed documentation is available at:
You can also build and view the full documentation site locally:
make docs-dev: Run the local development server with hot-reload.make docs-build: Build the production documentation site.
Contributions are welcome! Please read our CONTRIBUTING.md and ensure you run make check before submitting a Pull Request.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
(Note: Corvus is currently in active development. Features and architecture are subject to evolution.)
