← ClaudeAtlas

installer-clilisted

Authoring discipline for the @askviraj/ai-plugins CLI — the read-only receipt path, the interactive uninstall, packaging, and the flag surface. Auto-applies when editing cli/ or tsup.config.ts.
virajp/ai-plugins · ★ 1 · AI & Automation · score 78
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