Getting Started
maestria runs anywhere Node.js 22+ is available. No install required - use npx to run it directly from npm.
Quick Start
Section titled “Quick Start”Check what’s installed
Section titled “Check what’s installed”npx maestria statusThis detects which coding agent platforms are available on your machine and shows the install status for each:
Maestria Status ───────────────────────────────────── OpenCode Available: ✓ Installed: ✓ v0.6.0 Latest: 0.6.2 Pi Available: ✓ Installed: - not installed Latest: 0.4.1 Kimi Code Available: ✗ Installed: - not installed Latest: unknownRun npx maestria with no arguments - it defaults to status.
Install for a platform
Section titled “Install for a platform”Interactive install (pick from a list of detected platforms):
npx maestria installInstall for all detected platforms:
npx maestria install --allInstall for a specific platform:
npx maestria install opencodepnpx maestria@latest install pinpx maestria install kimi-codeUpdate to the latest version
Section titled “Update to the latest version”Interactive update:
npx maestria updateUpdate all:
npx maestria update --allUpdate a specific platform:
npx maestria update opencodeUpdate to a specific version:
npx maestria update opencode --version 0.5.0Prerequisites
Section titled “Prerequisites”- Node.js 22+ - required for the bundled
.mjsdistribution - Platform CLI tool - the CLI detects platforms by checking for their binary on
$PATH. The platform must be installed before maestria can be installed for it:
JSON Output
Section titled “JSON Output”All commands accept --json for machine-readable output. Useful for CI scripts, dashboards, or IDE integrations:
npx maestria status --json{ "platforms": [ { "id": "opencode", "label": "OpenCode", "available": true, "installed": true, "installedVersion": "0.6.0", "latestVersion": "0.6.2" } ]}npx maestria install --all --jsonCompact Output
Section titled “Compact Output”Use --compact for minimal machine-friendly text output suitable for AI agents
and token-sensitive environments:
npx maestria status --compactopencode: available installed=0.2.1 latest=0.2.1pi: not-available not-installedCompact output works on install and update too, showing one line per platform result:
opencode: installed 0.2.1The compact flag implies --quiet (no spinner animations).
Quiet Mode
Section titled “Quiet Mode”Use --quiet to suppress spinner animations. Commands still print final output:
npx maestria install --all --quietExit Codes
Section titled “Exit Codes”| Code | Meaning |
|---|---|
0 |
Success |
1 |
Validation or command error |
130 |
User cancelled (interactive mode only) |
The install and update commands detect non-interactive terminals (e.g., CI
pipelines) and exit with code 1 showing a clear error message instead of
attempting an interactive prompt.
Run any command with --help to see in-terminal examples, exit code documentation,
and a TIP FOR AI AGENTS section with usage guidance for automated pipelines.
Input Validation
Section titled “Input Validation”The CLI catches invalid input early with clear error messages:
Unknown platform:
npx maestria update unknown-platform# > Unknown platform 'unknown-platform'. Valid platforms: opencode, pi, kimi-codeInvalid version format:
npx maestria update opencode --version 2.0# > Invalid version '2.0'. Use semver format (e.g., 0.5.0) or 'latest'.Conflicting flags:
npx maestria install opencode --all# > Cannot use --all with a specific platform. Choose one.Version Caching
Section titled “Version Caching”The CLI caches version lookups from npm for 1 hour in ~/.cache/maestria/versions.json:
cat ~/.cache/maestria/versions.json# {"@maestria/opencode":{"version":"0.6.2","cachedAt":1719600000000}}To force a fresh version check, delete the cache:
rm ~/.cache/maestria/versions.jsonThe cache is automatically invalidated after a successful update, ensuring maestria status always shows the correct latest version after an upgrade.
Next Steps
Section titled “Next Steps”- Command Reference - full reference for all commands and flags