installer-clilisted
Install: claude install-skill virajp/ai-plugins
# Installer CLI
`cli/src/` is the source; `bin/installer.mjs` is the tsup bundle, is
**gitignored**, and is what npm publishes. Shipping `cli/src/*.ts` directly
would raise `engines.node` from `>=18` to `>=22.18`, which is the whole reason
the bundle exists.
**The artifact is `installer.mjs`; the command is `ai-plugins`.**
`package.json`'s `bin` *key* is what users invoke and what npm's Trusted
Publisher is bound to — renaming the file did not touch it, and renaming the key
would break every documented invocation.
**This CLI does three things**: installs plugins, wires graphify, and removes
what the toolkit put on a machine. The plugin path (`install.ts`) is a **thin
wrapper** — it drives `claude plugin marketplace add virajp/ai-plugins` +
`claude plugin install`, served from this repo's `main`, and never edits
Claude's settings itself. What stays deliberately cut is everything thicker than
that: the copied payload, the adapters, the `requires:` gate, and any receipt
for a plugin install — Claude's settings are the record, and `--uninstall` reads
them live.
The status bar was once the fourth thing. It lives in `claude-status` now
(`brew install virajp/tap/claude-status`), and that package is where anyone
looking for it should be sent — which `--statusline` does itself rather than
leaving to the docs. It was briefly retired outright, and that was wrong:
`strict` answered a user who had not heard about the move with `unknown option`
and nowhere to go, which is the one popul