Local-first · Backend-agnostic · AGPL

A coding agent that runs on your machine,
and drives every CLI you already have.

OllamaDev CLI is a terminal-native AI coding agent. It talks to Ollama by default — so your code never leaves your machine — and puts 12 backends behind one interface, including Claude, Codex, Gemini and Cursor. Then it adds a parallel crew: research → plan → code → audit → land.

~/project — ollamadev
# chat with an agent about the folder you're in (auto-resumes)
$ ollamadev

# one-shot: describe a change, it edits the files
$ ollamadev "add a --json flag to the export command"

# the crew: a director plans, N coders build in parallel git
# worktrees, an auditor reviews, the winner lands
$ ollamadev crew "migrate the config layer to TOML"

# commit with an AI message — a leaked secret BLOCKS the commit
$ ollamadev ship

What it does

A full coding-agent toolkit — not a wrapper. Everything runs locally unless you choose a cloud model.

🔒

Local-first & private

Runs against Ollama on your own hardware. Offline-capable, no per-token bill, nothing leaves the machine unless you point it at a cloud model yourself.

🔌

Every backend, one interface

ollama · claude · codex · gemini · cursor-agent · opencode · qwen · aider · goose · amp · crush · droid. Mix providers inside a single run.

👥

The crew

Parallel multi-agent: research → plan → N coders in isolated git worktrees → audit → land. Opt-in brains for routing, debate and amplification.

🚢

Ship-it git workflow

diff, commit, ship, pr. AI commit messages, and a secret scanner that blocks a commit carrying a leaked credential.

🧠

Context that sticks

Semantic code index, meaning-based code search, wiki-linked memory, and progressive-disclosure skills.

🛠️

Integrations

mcp serve exposes its tools to any MCP client. A built-in LSP gives completion, hover, go-to-def and real diagnostics.

🔁

Always-on

watch re-runs a task on file changes; named long-lived terminals outlive the command and are shared with the desktop app.

📊

Measurable

eval runs a fixed task suite into a pass-rate you can compare across models — with an exit code you can gate CI on.

The crew

One task, a whole bench. Each coder works in its own git worktree, so parallel work never collides — and nothing lands until it's reviewed.

research plan coder 1coder 2coder N audit land

--route

Auto-pick each role's model by task difficulty.

--debate

Advocate / skeptic / judge vote on each changeset.

--amplify N

N director plans (keep the modal one) + an N-reviewer audit panel; majority rules.

--dedupe

Hold coders whose work duplicates another's.

--security

A read-only vulnerability scan into a report.

--review

Hold everything for review instead of auto-applying — accept or discard from the board.

Plain crew is unchanged — every brain above is opt-in.

Where it fits

OllamaDev isn't trying to out-reason a frontier model. It's the local-first layer that unifies your tools — including the cloud CLIs — behind one workflow.

 OllamaDev CLIA single cloud coding CLI
Runs fully local / offlineYes — via OllamaNo
Cost modelFree on local modelsPer-token
Backends12, mixable in one runOne
Drives other coding CLIsYes — incl. Claude, Codex, GeminiNo
Parallel crew in git worktreesBuilt inVaries
Raw model capabilityDepends on the model you point it atFrontier
Self-hostable & open sourceAGPL-3.0Proprietary

Want frontier quality on a specific task? Point a role at a cloud backend — OllamaDev orchestrates it the same way it does a local model.

Install

Needs a C++20 compiler, CMake ≥ 3.21 and Qt6 (Core / Network / Concurrent). No GUI toolchain required.

build from source
$ git clone https://github.com/kennethyork/OllamaDev-CLI.git
$ cd OllamaDev-CLI
$ ./install.sh            # build → test → install to ~/.local/bin

# or manually
$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
$ cmake --build build -j"$(nproc)"
$ ./build/cli/ollamadev --version

# package it (.deb / .rpm / .tar.gz)
$ cd build && cpack
Point it at a model

ollamadev setup — detects your hardware, recommends and pulls a model.

Check the wiring

ollamadev doctor — health check · ollamadev backends — which providers are installed.

Start working

ollamadev for interactive chat, or ollamadev "your task" for a one-shot turn.

Command reference

The full surface. Run ollamadev --help for options on any command.

Core

ollamadevInteractive chat, auto-resumes this folder (--new for fresh).
ollamadev "<prompt>"One-shot agent turn.
backendsWhich providers are installed and how wide they run.
models [presets|cloud|chain]List models on the active backend · curated catalog + fallback chain.
agents [show <n>]File-defined subagent personas from .ollamadev/agents/*.md.
doctorHealth check.
setupDetect hardware, recommend + pull a model.
pull <model>Download a model (resumable).
contextSuggest num_ctx from free RAM/VRAM.
statsToken usage for this project.

Chat & sessions

chat ["<prompt>"]Tool-free conversation — no file edits.
chat list|delete <id>Manage saved threads.
load <id>Resume a specific session.
resumePick a recent session to resume.

Crew

crew "<task>"Research → plan → N coders → audit → land.
crew accept|discard <n>Apply held work into your folder, or throw it away.
crew steer <n> "…"Talk to a running coder.
crew resume [id]Finish an interrupted run; the director re-plans what's left.
crew role|packPersonas the director assigns · saved crew configs.
boardPending decisions.
route [--run] "…"Show (or run) which model the brain picks.

Context

index buildSemantic code index (also: status, clear).
code-search "<q>"Search the repo by meaning.
search "<q>"Web search.
skillsProgressive-disclosure skills (list / add / install).
memoryWiki-linked notes (new / list / show / graph).

Ship it — the git workflow

diff [--json]The working-tree diff, for review.
commit [-a] [-m]AI commit message; a leaked secret blocks it.
ship [--yes]Stage → scan → AI commit → ask, then push.
pr create|reviewDraft a PR · review one with the model (needs gh).
git <sub>status, diff, log, branch, checkout, add, commit, push, pull, stash, show.

Tests & always-on

testDetect and run this project's tests.
verify [--max N]Run them, and let the agent fix failures until green.
watch "<task>" [paths…]Re-run a task whenever files change.
terminal <sub>Named, long-lived ptys shared with the desktop app.
evalFixed task suite → a pass rate you can compare.

Automation & integration

hooksShell hooks on tool/session events; PreToolUse blocks on non-zero exit.
commands · /<name>Your own slash commands (prompt templates).
mcp serve|list|add|rmExpose the toolset to any MCP client · manage servers.
scan [path]Secret scanner (exit 1 on a high finding).
lsp [--port N]Language server — completion, hover, go-to-def, diagnostics.
config get|set <key>Read/write a dotted config key.
completion bash|zsh|fishPrint a sourceable completion script.
Mix providers in one crew. A model tag belongs to one backend, so the coder lists are positional:
--coder-backends ollama,claude,codex --coder-models qwen3.5:9b,,
coder 1 runs on qwen; coders 2 and 3 use their own backend's default.