╱|、
(˚ˎ 。7
|、˜〵
じしˍ,)ノ
██████╗ ███╗ ███╗ █████╗ ██╗ ██╗
██╔═══██╗████╗ ████║██╔══██╗╚██╗██╔╝
██║ ██║██╔████╔██║███████║ ╚███╔╝
██║▄▄ ██║██║╚██╔╝██║██╔══██║ ██╔██╗
╚██████╔╝██║ ╚═╝ ██║██║ ██║██╔╝ ██╗
╚══▀▀═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝
c o d e
AI-powered terminal agent for QualityMax. Named after Max, the real cat who inspired it all.
qmax-code is the LLM brain that orchestrates the open-source qmax CLI. It connects to the Claude API, understands your testing intent in natural language, and translates it into structured CLI operations — crawling sites, generating tests, running scripts, reviewing repos.
License: Source-available under the Functional Source License (FSL-1.1-ALv2) — created by Sentry. Free for any non-competing use (internal use, modifications, contributions, education, research, professional services). Two years after each release, the code automatically converts to plain Apache 2.0. The "Other" tag GitHub shows in the sidebar is a quirk of its licensee detector — FSL isn't on the SPDX list.
You → "test the login flow on staging"
│
qmax-code (Claude API)
│
┌─────────┼─────────┐
▼ ▼ ▼
qmax crawl qmax test qmax test
start generate run
Claude picks the right tools, chains them together, and reports back — all in a colorful terminal with cat personality.
- Themes — live-preview color scheme picker: Historic, Ocean, Neon, Ember, Aurora (
/theme) - Thinking spinner — animated indicator with cat-themed messages while the agent reasons
- Prompt queue — type your next prompt while the agent is still running; it processes automatically
- Input fixes — long lines wrap correctly, cursor tracking fixed, rune editing fixed
curl -sL https://raw.githubusercontent.com/Quality-Max/qmax-code/main/install.sh | bash# 1. Set your Anthropic API key
export ANTHROPIC_API_KEY=sk-ant-...
# 2. Login to QualityMax
qmax-code login
# Or use a QualityMax API key from Settings > API Keys
qmax-code login --api-key qm-YOUR-API-KEY
# 3. Start using
qmax-code
qmax-code "crawl staging.myapp.com and generate e2e tests"
qmax-code -p "run all tests for project 42"No qmax CLI needed. qmax-code calls the QualityMax API directly.
Get your QualityMax API key at: https://app.qualitymax.io/settings
| File | Purpose |
|---|---|
agent.go |
Claude API agentic loop — streaming, tool-use, history compression |
api_client.go |
REST client for the QualityMax cloud API |
auth.go |
Authentication — browser login, API key, OS keychain |
tools.go |
Tool definitions and ExecuteTool dispatcher |
terminal.go |
Output rendering, progress display, theme application |
theme.go |
Named color schemes and live-preview theme picker |
input.go |
Bubbletea TUI input model and slash-command menu |
queue.go |
Prompt queue — accepts input while the agent is running |
mcp_server.go |
MCP server mode (native tool-use, no Anthropic tokens consumed) |
ollama.go / ollama_agent.go |
Ollama local model provider and full-agent mode |
context.go |
SessionContext threaded through the agent |
main.go |
REPL, flag parsing, slash command handlers |
Tests: list_test_cases, list_scripts, generate_test_code, run_test, run_tests_batch, check_test_status
Crawl: start_crawl, crawl_status, crawl_results, list_crawl_jobs
Repos: list_repos, review_repo, repo_coverage, repo_quality
Import: import_repo, import_document
PR: create_pr
Local: read_file, write_file, run_command, run_local_test
- Go 1.24+ (for building from source)
- Anthropic API key (
ANTHROPIC_API_KEY) - QualityMax account (free at qualitymax.io)
- qmax CLI is optional — qmax-code works standalone via REST API
- Anthropic: set
ANTHROPIC_API_KEY, pass--anthropic-api-key, or save it through the interactive key prompt. - QualityMax: run
qmax-code loginfor browser login, orqmax-code login --api-key qm-YOUR-API-KEY. - QualityMax credentials are stored in
~/.qmax-code/auth.jsonwith0600permissions. Run/disconnectin the REPL to remove saved QualityMax auth. - Anthropic keys saved by the prompt are stored in the OS keychain under the
qmax-codeservice; remove them with your platform keychain tool, or useANTHROPIC_API_KEYfor session-only auth. - Known credential patterns are redacted from API errors, command output, local test output, and optional telemetry before display or reporting.
qmax-code is a trusted local terminal agent. Tools such as read_file, write_file, run_command, and run_local_test can access your workspace or run local commands with your user permissions. See SECURITY.md for the trust model and local backup paths.
go build -o qmax-code .Max is a curious explorer, playful bug hunter, and proud test presenter. The agent channels this energy — helpful, occasionally catty, never forced.
/\_/\
( o.o ) "knocks bugs off the table"
> ^ < "nine lives, zero regressions"
/| |\ "if it fits I sits, if it breaks I test it"
(_| |_) meow.
Open-source CLI for the QualityMax platform. Licensed under FSL-1.1-ALv2 — free for non-competing use, converts to Apache 2.0 after 2 years.
qmax-code does not send anything off-machine by default. Crash and error reporting is opt-in only and requires both:
QMAX_CODE_TELEMETRY=1— explicit opt-in toggleQMAX_CODE_TELEMETRY_DSN=<sentry-dsn>— destination DSN you control
When enabled, only structural metadata is sent: backend name, HTTP status codes, model identifiers, input lengths, image counts. Prompt content, file contents, LLM responses, and shell output are never transmitted — a BeforeSend sanitizer in error_reporting.go strips any tag whose name matches a prompt-shaped prefix as defense-in-depth.
To disable, unset either variable. To inspect what would be sent, set QMAX_CODE_TELEMETRY_DSN to a Sentry-compatible test endpoint you control.