Aster

An open-source coding agent you run yourself, with the model you choose. It reads, edits, and reviews your code, and makes every finding prove itself.

Any OpenAI-compatible endpoint. 38 in the picker, or point it at one on your own machine.

OpenRouterOpenAIAnthropicGeminiGroqOllamavLLM

A harness, not a prompt

Chat, review, and fix all share the same tools, permissions, history, memory, and retrieval. One binary, your own model, plain files on your disk. No hosted control plane, no telemetry.

Talk to your code

Ask questions, get answers, and let it make the edits. Aster reads files, searches the repo, runs commands, and writes code when you let it. In plan mode it drafts first and touches nothing; approving the plan is what lets it start.

where does the retry logic live?answered
add a test for the empty-input caseedited
why is that finding critical?explained
permission mode: editshift+tab
permissions:
  allow: ["Bash(cargo test:*)"]
  ask:   ["Edit(migrations/**)"]
  deny:  ["Bash(npm publish:*)"]

You decide how far it goes

Five modes, from plan-only to full auto, and one rule language for reads, writes, and commands alike. A rule matches inside bash -lc too, so chaining a command does not slip it past. Outside yolo everything runs in an OS sandbox: writes stay in the repo, secrets never reach the child process.

It remembers, and it learns

Short facts stay in context; named memory blocks load only when needed. Eighteen skills ship built in, each a folder that tells the agent how to do one thing. Plugins package skills and MCP servers together in the vendor-neutral Agent Plugins format, so anything published for a conformant client installs here unchanged.

memoryalways in context
18 built-in skillsloaded on demand
pluginsskills + MCP
MCP serversprogressive tools
$ aster review --pr 142
hypothesize · verify · refute
2 findings · 25 dropped

Review is verification, not generation

A model grading its own first pass is the bug that ships. Aster splits review into a cheap pass that over-produces suspected defects and an independent pass that tries to refute each one. Only findings a skeptic cannot kill reach your pull request.

Try Aster today

Free and open source. Bring your own model. Self-host the whole thing.

Then aster init to pick a provider, and aster in any repo. Prefer to build it? cargo install --path crates/aster-cli.