Install
tm is a single Rust binary (package tm-cli, binary name tm) plus an optional built web client.
It is not published to crates.io. Install it with Homebrew (brew install alliecatowo/tap/ticket-master), from a GitHub release, or from source.
Requirements🔗
- macOS or Linux.
- Each GitHub release ships
tm-<target>.tar.gzforaarch64-apple-darwin,x86_64-apple-darwin,aarch64-unknown-linux-gnuandx86_64-unknown-linux-gnu, and Homebrew installs the right one. - For the source install: Rust 1.85+ and C and C++ compilers (SQLite is built from source).
- At least one configured model provider to run a turn; see Providers.
Option A: release tarball🔗
curl -fLO https://github.com/alliecatowo/ticket-master/releases/download/v0.1.0/tm-aarch64-apple-darwin.tar.gz
tar -xzf tm-aarch64-apple-darwin.tar.gz
./tm-aarch64-apple-darwin/tm --version
Or clone the repo and run scripts/install.sh (needs an authenticated gh).
It detects your OS and architecture, downloads the matching asset, verifies its .sha256 when the release
carries one, and installs into ${PREFIX:-$HOME/.local} (bin/tm, share/tm/web). Pass a tarball path
to install from a local file instead.
Option B: from source with cargo🔗
cargo install --git https://github.com/alliecatowo/ticket-master.git tm-cli --locked
This path has no bundled web client; tm serve needs --web-dir (or TM_WEB_DIR) pointing at a build
of clients/web/.
Option C: development checkout🔗
git clone https://github.com/alliecatowo/ticket-master.git
cd ticket-master
mise install
mise run build
./target/debug/tm initProvider setup🔗
Two quick ways to get a working provider:
ANTHROPIC_API_KEY: the default;coder.fastroutes to Anthropic.- DevPass (any OpenAI-compatible gateway): set all three of
DEVPASS_API_KEY,DEVPASS_BASE_URLandDEVPASS_MODEL. A partial set does nothing.
A .env file in the current directory is loaded automatically and never overrides variables already
set in your environment.
tm provider detect # which backends have credentials in this environment
tm provider test # one tiny real (billed) completion through eachUpgrade and uninstall🔗
Re-run scripts/install.sh against a newer release to upgrade in place, or re-run the cargo install
command with --force. To uninstall:
rm -rf "${PREFIX:-$HOME/.local}/bin/tm" "${PREFIX:-$HOME/.local}/share/tm" # cargo install: cargo uninstall tm-cli
tm’s own state (.tm/ in a repo, or $TM_HOME, default $HOME/.tm) is left alone.