# Changelog

# Changelog

## v0.8.0

_August 3, 2026_

### New `maestria configure` command

Choose which model each maestria specialist agent uses, per platform.

- **Supported platforms**: opencode, pi, omp - writes `agent.<name>.model` into opencode configs or the `model:` line into pi/omp agent frontmatter, preserving all other content
- **Interactive**: group-multiselect of the 7 specialists, then a per-agent model picker with the current model pre-selected and an _Inherit (session model)_ option; model lists are fetched live from the platform
- **Non-interactive**: `--set <agent>=<model>[,...]` with empty values to reset, `--global`/`--project` levels, `--json`/`--quiet`/`--compact` output modes
- Models are validated against the platform's live model list before writing

### Fix: per-agent model config now applies on opencode

`@maestria/opencode`'s config hook shallow-merged its bundled agents over the user's config, silently dropping user-set `model`/`variant` keys from `opencode.jsonc`. The hook now deep-merges, so `maestria configure opencode` (and manual `agent.<name>.model` edits) actually take effect - subagents use their configured model instead of inheriting the primary agent's.

## v0.7.0

_July 22, 2026_

### Oh My Pi (omp) platform support

New `@maestria/omp` package adds maestria support for the Oh My Pi coding agent. CLI integration: `maestria install omp`, `maestria update omp`.

## v0.6.1

_July 21, 2026_

- Switch kimi-code to npm-based install (fixes `maestria update kimi-code` version comparison)
- Add Cursor plugin support: `maestria install cursor`, `maestria update cursor`

## v0.6.0

_July 17, 2026_

### New `maestria check` command

Check whether a maestria plugin is installed on any platform. Returns the installation status of each plugin so you can verify your setup.

## v0.5.0

_July 14, 2026_

### Enhanced interactive prompts

`update` and `install` commands now use a grouped multiselect prompt with an "All platforms" toggle and `a` keyboard shortcut to select/deselect all. `maestria install kimi-code` now works with the latest Kimi Code versions -- the installer writes plugin files directly instead of relying on a removed CLI command.

## v0.4.1

_July 14, 2026_

### Network-first version lookup

`maestria update` and `maestria status` no longer serve stale cached
versions. The CLI always fetches the latest version from npm, falling
back to the cache only when the network is unavailable.

**Improvements:**

- **No stale version window** — Previously, published versions were
  missed for up to 1 hour due to TTL-based caching. Now the live npm
  version is fetched every time the network is available.
- **Offline fallback** — If the npm registry is unreachable, the CLI
  falls back to the last known cached version instead of failing.

## v0.4.0

_July 14, 2026_

### Multi-platform selection

`maestria update` and `maestria install` now support comma-separated
platform IDs (e.g., `maestria update opencode,pi`) and interactive
multiselect with checkboxes instead of single-option pickers.

**Improvements:**

- **Comma-separated platforms** — Target multiple platforms in one command:
  `maestria install opencode,pi,kimi-code`
- **Multiselect in interactive mode** — Checkbox-style picker replaces
  the old single-select for both install and update commands
- **All platforms shortcut** — Interactive `maestria update` includes a
  convenient "All platforms" option to update everything at once

## v0.3.11

_July 11, 2026_

- Pi extension detection no longer fails during version checks
- Version comparison between releases is now more reliable

## v0.3.10

_July 11, 2026_

- Pi package install and uninstall now work correctly

## v0.3.9

_July 3, 2026_

- Pi extension detection no longer fails during version checks

## v0.3.8

_July 2, 2026_

- OpenCode install no longer fails when tools are on a non-standard PATH.
- New `maestria uninstall` command with `--all` and interactive mode support.
- `maestria --version` now shows the correct package version.
- Error messages now include command output for easier debugging.

## v0.3.2

_July 1, 2026_

### Bundle CLI runtime dependencies

Bundled `effect`, `@clack/prompts`, `citty`, `picocolors` into output instead of externalizing them. End users no longer download 8.2 MB of transitive dependencies at install time.

## v0.3.0

_June 29, 2026_

### Agent-friendly CLI

Major improvements to make the CLI more suitable for AI agents and CI pipelines.

**New flags:**

- `--compact` - Minimal machine-friendly text output. Strips colors and decorative formatting.
  Supports status, install, and update commands.
- `--version` - Print the CLI version and exit.
- Root `--json` - The `maestria` command (no subcommand) now supports `--json`.
- `--quiet` on status - Decoupled from `--json`; each flag works independently.

**Enhanced `--help`:**

All commands now show EXAMPLES, EXIT CODES, and TIP FOR AI AGENTS sections
in addition to the standard flag documentation.

**Proper exit codes:**

The CLI now exits with `0` (success), `1` (validation/command error), or
`130` (user cancelled in interactive mode).

**Non-interactive safety:**

`install` and `update` commands detect non-TTY environments and print a
clear error message instead of attempting an interactive prompt.

## v0.2.1

_June 29, 2026_

### Idempotent updates

The `update` command now detects when the installed version already matches
the target version and skips the update gracefully. Previously, running
`npx maestria update <platform>` when already on the latest version would
re-run the install unnecessarily.

## v0.2.0

_June 22, 2026_

### Cross-platform plugin management

Initial release of the `maestria` CLI - a unified interface for managing
maestria plugins across OpenCode, Pi, and Kimi Code from a single command.

**Three subcommands:**

- **`install`** - Install maestria for one or all detected platforms. Supports
  interactive mode (pick from a list), `--all` flag, and per-platform targets.
- **`update`** - Update installed plugins to the latest (or specified) version.
  Accepts `--version` for pinned updates and `--all` for bulk updates.
- **`status`** - Show installation status across platforms. Detects available
  coding agents on `$PATH` and reports installed vs. latest versions.

**Key features:**

- No `npm install` required - run via `npx` thanks to the bundled single-file
  `.mjs` distribution
- `--json` flag on all commands for CI/script consumption
- `--quiet` flag to suppress spinner animations
- Version caching (1-hour TTL in `~/.cache/maestria/versions.json`)
- Input validation with clear error messages for unknown platforms, invalid
  versions, and conflicting flags