Installation
Install Mate and keep its runtime requirements current.
Install The CLI
Mate is published to npm and requires Node.js 24.
npm install -g @uniqbit/mateThe published package bootstraps Bun when Bun is not already available. Bun is Mate’s core runtime package manager.
Install Core Requirements
Before linking a companion, run Mate’s installer from the working repository:
cd /path/to/working-repo
mate installWithout a linked companion, mate install verifies the core runtime and saves
the core installation state. Use the non-interactive form in CI or another
process without a TTY:
mate install --yesLink A Companion
mate companion linkThe link wizard can select a registered companion or clone a Git-backed companion. For GitHub URLs, Mate tries SSH before HTTPS. The working repository gets local metadata at:
.mate/config/framework.yaml
.mate/config/registry.yamlMate adds .mate/ to .git/info/exclude, so these machine-local pointers do
not need to be committed. The repo-local registry is the source of truth when
Mate resolves a working repository.
Linking builds a dependency plan from the selected companion configuration, checks which requirements are already available, installs missing requirements, and saves the companion-specific install state. It does not enable capabilities that were not selected. This makes the default workflow:
mate install
mate companion link
mate opencodeRun installation again after any of these changes:
- the Mate package is installed or updated (this also refreshes
~/.mate/runtime/, which repositories wrapped for OpenCode depend on) - companion capabilities or package managers change
- the active companion changes
- a required command is removed from
PATH
Create Or Reconfigure A Companion
mate companion link can clone and initialize a Git-backed companion; see
Create A Companion for both ways to start
one. Run setup directly only when creating a local companion or changing its
policy and capability selections:
cd /path/to/companion-repo
mate companion setupSetup configures allowed agents, package managers, capabilities, the OpenSpec schema profile, and optional companion Git auto mode. The interactive picker is recommended. Explicit flags are available for repeatable environments:
mate companion setup \
--allowed-agent claude \
--allowed-agent opencode \
--capability openspec \
--capability react-doctor \
--package-manager uv \
--openspec-schema default \
--git-mode defaultChanging setup selections invalidates the companion install state. Run
mate install from that companion or a linked working repository afterward.
Verify The Context
mate doctorDoctor reports the current context, companion path, repository ID, active policy, selected capabilities, and required tool status. It distinguishes:
linked-working-repositorycompanion-repositorynot-linked
Once installation is current, launch from the working repository:
mate opencode
# or
mate claudeRecovery Commands
Mate allows these commands even when normal commands are blocked by stale or missing install state:
mate install
mate doctor
mate companion setup
mate companion link
mate update
mate --help
mate --versionVerify The Package
Every Mate release is published from the repository’s release workflow with an
npm provenance attestation that links the package to its source commit and
workflow run. npm audit signatures checks the packages of a project, so
verify a version from a scratch directory:
mkdir mate-verify && cd mate-verify
npm init -y >/dev/null
npm install @uniqbit/mate@<version>
npm audit signaturesA package without a valid registry signature or attestation is reported as an error.