Skip to content

v1.2.0 — --deep zero-paste install

Latest

Choose a tag to compare

@danilods danilods released this 24 Apr 21:33
· 65 commits to main since this release

Adds `--deep` flag to `matilha install-plugins` for zero-paste ecosystem install.

Companion to matilha-skills v1.2.0 (Wave 5g).

What's new

`matilha install-plugins --deep`

Executes `claude plugin marketplace add` + `claude plugin install @ --scope user` for each selected pack, using the documented Claude Code shell API. Zero paste required.

Idempotent: treats "already installed" stderr patterns as success, so re-runs are safe.

Falls back gracefully to paste-block mode when the `claude` CLI is absent on PATH.

`--with-claudemd` in `--deep` mode

Combined with `--deep`, the CLI now writes `./CLAUDE.md` via the Wave 5g SP-B merge-or-create contract (3 cases: create / append / replace-between-markers, idempotent). Ships the canonical matilha activation-priority snippet with `` markers.

New modules

  • `src/install-plugins/detectClaudeCli.ts` — PATH scanner for `claude` binary (no shell invocation, injection-safe)
  • `src/install-plugins/executeDeepInstall.ts` — sequential `execFile`-based runner with dry-run mode and `onStep` progress callback
  • `src/install-plugins/writeClaudeMd.ts` — Node implementation of the 3-case merge-or-create contract

Canonical flow

```bash
npm install -g matilha@1.2.0
cd /path/to/your/project
matilha install-plugins --full --deep --with-claudemd

→ 8 plugins installed via claude CLI

→ ./CLAUDE.md created/merged with matilha priority rule

→ "next: open Claude Code and run /reload-plugins"

```

Compatibility

  • No breaking changes. Default behavior (without `--deep`) unchanged — still emits paste-block.
  • Existing flags (`--full`, `--core-only`, `--preset`, `--with-claudemd`, `--no-clipboard`) continue to work identically.
  • Validator tests: 1496 passing (+14 SP-E tests).

Full changelog: see `CHANGELOG.md`.