ARK for software
An AI team in your repository.
Point ARK at a repo and ask. Agents read and search the code, look up the docs, and propose changes you approve file by file.
Hand over the digging.
Reading unfamiliar code, chasing a change through a codebase, catching up on docs. Agents do the legwork; you review.
-
Reader
Explain how auth works in this repo, with a diagram.
Diagram and notes -
Reader
What changed in the payments API since the version we pin?
A list, with links -
Engineer
Rename
12 files, each approvedCustomertoAccounteverywhere, and ask before each file. -
Reviewer
Read
5 risks, with linessrc/billingand list what breaks if we drop the old invoice format.
Not another chat sidebar.
Agents with roles, tools and limits, on a canvas you can watch.
- It works in the repo. Agents list, read, search and write files in the project folder, and nothing outside it.
- Several agents at once. Each with its own role, instructions and model. Watch who hands work to whom.
- Every write asks. See the start of a change before it is saved.
- Your model. Claude Code or Codex on your subscription, the Anthropic or OpenAI API, or Ollama.
Engineer wants to change a file
src/import/dates.rs
+ fn parse_iso_week(s: &str) -> Option<NaiveDate> {
Build your own agents.
ARK Desktop runs on ARK Core, an open source agent runtime in Rust. Bring your tools and prompts; the rest is done.
- The loop. Context budget, model routing, retries, sessions, cancel and steering.
- Tools with limits. Every action has a risk tier. Anything that changes state asks first.
- Teams. Delegation, messages and a scheduler that knows each model's capacity.
- Front-ends. The same app in a terminal or a window. MIT or Apache-2.0.
use ark_sdk::prelude::*;
async fn run() -> Result<(), ArkError> {
let ark = Ark::builder()
.store_root("./workspace")
.tool(Arc::new(Weather)) // your tools
.profile(AgentProfile::builder()
.instructions("You are a concise travel assistant.")
.build())
.provider(ark_model::from_env_arc()?) // Claude, OpenAI, Ollama
.build()?;
let project = ark.create_project("trip", "weekend planning")?;
let outcome = ark.ask(&project.id, "weather in Lisbon today?").await?;
println!("{}", outcome.answer);
Ok(())
}
Questions
ARK Desktop is a free Mac app: a team of AI agents that work in a folder you choose, and ask before they change anything. It runs on ARK Core, an open source agent runtime in Rust.
Not yet. Agents list, read, search and write files in the project folder, search the web and draw diagrams. They do not run commands.
Claude Code or Codex on the subscription you already have, the Anthropic or OpenAI API, or a local model through Ollama. Each agent can use a different one.
Yes. Settings › Tool servers adds MCP servers while the app runs. In ARK Core, a tool is one Adapter.
Yes, under MIT or Apache-2.0, on GitHub. Releases are git tags; pin one in Cargo.toml.
Ready when you are.
Start with one task. Your team takes it from there.
