Skip to content

Quality-Max/qmax-code

                                    ╱|、
                                   (˚ˎ 。7
                                    |、˜〵
                                    じしˍ,)ノ

             ██████╗ ███╗   ███╗ █████╗ ██╗  ██╗
            ██╔═══██╗████╗ ████║██╔══██╗╚██╗██╔╝
            ██║   ██║██╔████╔██║███████║ ╚███╔╝
            ██║▄▄ ██║██║╚██╔╝██║██╔══██║ ██╔██╗
            ╚██████╔╝██║ ╚═╝ ██║██║  ██║██╔╝ ██╗
             ╚══▀▀═╝ ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝
                             c o d e

qmax-code

License: FSL-1.1-ALv2 Future License: Apache 2.0 Made with Go Announcement

Buy Me a Coffee

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.

How it works

  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.

What's new in v1.13

  • 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

Install

curl -sL https://raw.githubusercontent.com/Quality-Max/qmax-code/main/install.sh | bash

Quick start

# 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

Architecture

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

Available tools

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

Requirements

  • 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

Auth

  • Anthropic: set ANTHROPIC_API_KEY, pass --anthropic-api-key, or save it through the interactive key prompt.
  • QualityMax: run qmax-code login for browser login, or qmax-code login --api-key qm-YOUR-API-KEY.
  • QualityMax credentials are stored in ~/.qmax-code/auth.json with 0600 permissions. Run /disconnect in the REPL to remove saved QualityMax auth.
  • Anthropic keys saved by the prompt are stored in the OS keychain under the qmax-code service; remove them with your platform keychain tool, or use ANTHROPIC_API_KEY for session-only auth.
  • Known credential patterns are redacted from API errors, command output, local test output, and optional telemetry before display or reporting.

Local safety

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.

Build

go build -o qmax-code .

Cat personality

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.

Telemetry

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 toggle
  • QMAX_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.

About

QualityMax AI-powered terminal agent — LLM orchestration layer for the qmax CLI

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages