All posts

Today we’re flipping qmax-code — the Go + Charm terminal agent that drives the QualityMax test loop — to fully public on GitHub.

Quality-Max/qmax-code
Go · AI-powered terminal agent · Claude orchestration over the QualityMax API
Open on GitHub →

If you’ve been using qmax-code from the install script, nothing changes for you — same binary, same install command, same QualityMax API key. What changes is that you can now read every line of what the agent does: how it composes the Claude conversation, which tools it exposes, how the auth keychain works, how it talks to the QualityMax REST API.

Why now

Two reasons. The first is technical — AI coding agents that touch your filesystem, your git repository, and your test runner shouldn’t be a black box. After the Claude Code source leak, we wrote about how the industry is securing these things in the wrong direction. The honest answer to “is your agent doing what it claims” is: read the source.

The second is product — the QualityMax bet has always been the platform (the project graph, the test database, the AI review gates, the SAST + tech-debt scanners, the multi-model router). qmax-code is the local thin client that talks to that platform. It always made more sense as a fork-friendly Go binary anyone can audit than as a guarded artifact behind a download wall. We picked the Functional Source License (FSL-1.1-ALv2) for the release — source-available today, plain Apache 2.0 two years from each release. More on that below.

What’s in the repo

The full source for the v1.13 binary you already have on your machine. Highlights:

If you want to know exactly what the agent does on your machine before running it, that file list is your map.

Forking is encouraged

The thing we hope happens: someone forks qmax-code, swaps the API client out for their own internal QA service, and ends up with a Claude-driven terminal agent for their company’s test infrastructure. The tool registry is the interesting part — everything else is wiring.

If you build something on top of qmax-code, drop a note in Discussions or send a PR. Bug reports go in Issues.

Already running qmax-code?

The install script and the binary it pulls in haven’t changed. You’re running the same agent — you can now just git clone the source and audit it.

Two minutes to install from source

If you want to build it yourself instead of using the install script:

# Install Go 1.21+ first, then:
git clone https://github.com/Quality-Max/qmax-code.git
cd qmax-code
go install ./...

# Or the prebuilt binary, same as before:
curl -sL https://qualitymax.io/static/install-qmax-code.txt | bash

qmax-code> /login
# Paste your API key from app.qualitymax.io/settings

Then point it at a project and start a session. Same flow as the install-script version — the binary just happens to be one you can rebuild yourself now.

About the license

qmax-code is published under the Functional Source License v1.1 with Apache 2.0 as the future license (FSL-1.1-ALv2). In practical terms: read it, fork it, modify it, run it inside your company — that’s all fine. The one thing the license forbids is using it to build a directly competing product. Two years after each release, that restriction lifts and the code becomes plain Apache 2.0. FSL was created by the Sentry team for exactly this kind of source-available release.

Roadmap

The roadmap that’s already in the repo:

If any of those interests you, the issues are tagged good-first-issue and help-wanted.

Star the repo, send a PR, fork it

qmax-code is published under FSL-1.1-ALv2 (converts to Apache 2.0 in 2 years). The whole agent — tool registry, Claude loop, terminal UI — is yours to read, fork, and improve.

View on GitHub → qmax-code features →