It's not a secret that we practice agentic programming on a daily basis. At the time of writing this article, we use OpenCode as our main agent and DeepSeek v4 flash 0731 as our main LLM.

In the past few months, we've been asking ourselves if there's room to improve our setup. We care deeply about the quality of the human-machine interaction (see what's agentic programming?), token efficiency, tool usage. We also have to admit that, for a long time (in AI time 😉), we've been just end users of these magical boxes where you put words in and you get actions out.

At Club Matto we like tools that just workâ„¢ but we don't love magic. Experience has taught us that when things look magical on the outside, they often have lots to teach you as you look deeper into them.

So today we're kicking off a series on agentic programming. The goal of the series is to learn in depth how coding agents work, where they differ, and what that means for our agentic workflows. Given the scope and the very (very!) fast-moving landscape, expect frequent posts!

As a first step, we looked at what the coding agent market has to offer and made a shortlist of ten open-source agents we want to focus on.

Before we go on to explain how we chose agents for our list, let us spend a few words on what agentic programming means to Club Matto.

What's agentic programming?

These days, we do all our coding tasks via a coding agent. The agent does all the typing, we do all the reading. These are active sessions: we don't let the agents go on for hours and commit their work. We actively steer the agents toward verification loops we're most comfortable with (in short: end-to-end tests, sometimes with ad-hoc scripts, and very aggressive linting phases). We drive the interaction, the agent executes it. This also explains our love for DeepSeek v4 flash 0731. It's really fast and really cheap.

We find this workflow quite productive but we can see some obvious limitations. For example, coding editors don't make much sense in this context. They're optimized for, well, editing but we're now mostly looking at diffs since agents do all our typing. One other limitation we feel a lot is remote pair programming support in these tools. We often find ourselves wanting to collaborate with the agents and we have yet to come across a solution that works for us.

The point we're trying to stress is that we think of agentic programming as a close collaboration between humans and machines which is why we focus a lot on the ergonomics of the workflows that different coding agents may unlock. We really think of agents as extremely fast and smart typists, researchers, debuggers but we're the authors and ultimately responsible for the code the agents produce.

How we chose 10 coding agents

When we set out to explore the coding agent market, we used the following criteria:

  • The project must be open-source. We want to know how things work in detail, we want to look at the code.
  • The project must be multi-provider. We want harnesses we can point at whatever model we like (BYO key / OpenAI-compatible / local), no lock-in.

While definitely more subjective, we also tried to select agents that focus on simplicity/performance.

Last but not least, we warmly welcome projects from the Chinese ecosystem. Three of the ten are official harnesses from Chinese AI labs (DeepSeek, Alibaba, Moonshot AI) and all three are multi-provider. If you only follow Western launches, you're missing a lot of the experimentation happening in this space.

The list

Now that we've clarified how we selected each project, it's time to look at the list!

Agent Language License Models
OpenCode TypeScript MIT BYO, OpenAI-compatible
Model-agnostic and fast. The harness we run ourselves.
Aider Python Apache-2.0 BYO via LiteLLM
The pioneer of repo maps and git-integrated diffs.
DeepSeek Harness TypeScript MIT Multi-protocol
Everything is a plugin.
Qwen Code TypeScript Apache-2.0 Multi-protocol
Speaks OpenAI, Anthropic, and Gemini protocols.
Pi TypeScript MIT BYO, 40+ providers
A minimal harness on a unified LLM API.
Kimi Code CLI TypeScript MIT Kimi, Claude, OpenAI-compatible
Multi-provider out of the box.
Crush Go FSL-1.1-MIT* BYO
Premium TUI, your LLM of choice.
OpenHands TypeScript, Python MIT BYO via LiteLLM
A full platform with a Docker-sandboxed runtime.
Goose Rust Apache-2.0 BYO
Local-first and extensible.
Codex CLI Rust Apache-2.0 BYO, OpenAI-compatible
Extensible via custom providers; built-in Ollama, LM Studio, and Bedrock.

* FSL-1.1-MIT is the Functional Source License: source-available today, MIT after two years.

What's next

In the next posts, we'll demystify these components the best way we know — by building a tiny coding agent from scratch — and then do a comparative analysis of "our" coding agents on exactly those components: core agent loop, tool and permission model, context and memory handling, sub-agents, and sessions.