magus v0.4.3 is out. See what's new
¶ View markdown source · ✎ Suggest an edit

Build from source

Building locally trades away the signed-release guarantee of the install script: you get whatever your checkout and your toolchain produce, verified by nothing.

git clone https://github.com/egladman/magus
cd magus
GOEXPERIMENT=jsonv2 go run -trimpath ./cmd/magus run go-build --no-cache .

That one command compiles magus and has it run its own go-build target, which regenerates the embedded spells and links a stamped ./magus. --no-cache skips the magus cache, whose key for that target cannot express the embedded spell ordering; Go's build cache stays on, and -trimpath matches the target's own build so packages compile once. GOEXPERIMENT=jsonv2 is on the line because magus refuses to compile without it. Use ./magus from then on.

A distro package that links with go build adds -tags noselfupdate to disable the self-update subcommand.

build-from-sourcego-buildnoselfupdateliblzmalibzstdpackaging
Last updated (7b7a69bb)
Glossary

Target

A named operation (build, test, ...) you invoke with magus run <target>; it may compose a spell's tool-native operations and depend on other targets. Target in full.

Spell

A language/runtime adapter (e.g. go, md) that maps generic targets onto a toolchain's real commands. Spell in full.

Cache

The content-addressed store magus consults before running a target, so unchanged work is skipped. Cache in full.

Tool

An action a model can call through its host: a name, a description, a typed input and a result. magus serves its tools over MCP, each a read of the workspace model or a run of the CLI it already has. Tool in full.

Run

One target executing under one magus invocation, such as magus run test web or magus affected ci. A run keeps its captured output behind an output reference. Every magus run is a run whether or not any job asked for it; see Job for how the two relate. Run in full.

Lease

The grant a holder takes on a job: the write and read paths that job declared, enforced in the checkout that took it with magus job exec. A job is the piece of work; a lease is permission over it. Lease in full.

Conventions

This page uses none of the site's convention markers. The full set is on the conventions page.