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

Magusfile authoring diagnostics

Codes in the MGS1xxx range flag problems with how a workspace's magusfile(s) are authored: targets that must exist but don't, declarations that won't resolve, and similar. Magus raises them at run time (as a typed DiagnosticError) and, where applicable, as a magus doctor health check so the gap is visible before CI runs.

Codes

magusfilediagnosticserror codesMGS1xxxtargetsdoctorauthoring
Last updated (b022d75e)
Glossary

Workspace

The magus root directory that owns a set of projects and shared config; the unit magus operates over. See workspace.

Project

A directory magus recognizes as a unit of work (it has a magusfile); the unit of caching, scheduling, and dependency tracking. See workspace.

Magusfile

The magusfile.buzz that declares a project's targets (as export funs) and binds its spells. See targets.

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. See targets.

Spell

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

CI

An ordinary magusfile-defined target you compose yourself with magus\needs - magus does not hardcode its stages. Magus.RunCI treats it specially only in that it strips the rw charm, it is the anchor magus affected ci keys off, and a selected scope with no project declaring it is a load error rather than a silent no-op. See targets.

Health

The at-a-glance daemon state derived from the pool: healthy when the pool is reporting, degraded when it reports an error, down when there is no pool. The dashboard color-codes each state. See daemon.

Conventions

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