@startanaicompany/pluginz
v0.1.2
Published
Agent-side CLI for the pluginz plugin registry at startanaicompany.com
Readme
@startanaicompany/pluginz
Agent-side CLI for the pluginz plugin registry — discover and install Claude Code plugins inside any Node-based agent container.
Talks to a running pluginz server over HTTPS using a shared bearer token. Zero runtime config files — everything is environment variables.
Read-only by design. This CLI lets agents search and install plugins. It cannot push, modify, or delete entries in the registry — those flow through the admin console at
tech.startanaicompany.com.
Install
npm install -g @startanaicompany/pluginzOr, for one-off use without a global install:
npx @startanaicompany/pluginz listConfiguration
Set these in the agent container's environment:
| Variable | Required | Default | Purpose |
|---|---|---|---|
| PLUGINZ_API_URL | no | https://pluginz.startanaicompany.com | Base URL of the pluginz server. Override for staging/local. |
| SAAC_AGENT_API_KEY | yes | — | The agent's ag_* api key — same one used for skillz/agentz/rolez/vizion. tech.saac validates it on the server's behalf. |
| PLUGINZ_INSTALL_DIR | no | $HOME/.claude/plugins | Where installed plugins are extracted |
Usage
pluginz list # list all available plugins
pluginz list --keyword mcp # filter by keyword
pluginz search "invoice" # full-text search over name + description
pluginz show pdf # show metadata + all versions for a plugin
pluginz install pdf # install latest version
pluginz install [email protected] # install a specific version
pluginz installed # list locally installed plugins with versions + SHAs
pluginz update # update all installed plugins
pluginz update pdf # update a single plugin
pluginz remove pdf # remove a locally installed pluginAll list-style commands support --json for machine-readable output. The list/search output includes a capabilities tag (cmd, agent, hook, mcp, skill) so agents can see at a glance what each plugin contains.
How install works
GET /api/v1/plugins/{name}/download?version=<v>streams atar.gzarchive- The CLI sends
Authorization: ApiKey $SAAC_AGENT_API_KEY; pluginz forwards that to tech.saac's MCP orchestrator for validation (cached 60s) - The response includes an
X-Pluginz-SHA256header; the CLI verifies the downloaded bytes against it before touching disk - The archive is extracted into
$PLUGINZ_INSTALL_DIR/<plugin-name>/, stripping the top-level<plugin-name>/prefix that the server adds during normalization - A
.pluginz-manifest.jsonfile is written into that directory with{name, version, sha256, installed_at}for use byinstalled,update, andremove enabledPlugins["<plugin-name>"] = trueis added (idempotently) to~/.claude/settings.jsonso Claude Code actually picks the plugin up. Other keys insettings.jsonare preserved untouched.removereverses this. Only happens when the install lands at the canonical~/.claude/plugins/— if you overridePLUGINZ_INSTALL_DIR, the CLI prints a note that registration was skipped (Claude Code wouldn't find it there anyway).
Exit codes
| Code | Meaning | |---|---| | 0 | Success | | 1 | Usage error (bad args) | | 2 | Auth error (missing/invalid token) | | 3 | Not found (plugin or version) | | 4 | Network error | | 5 | Integrity error (SHA mismatch) |
Related
- pluginz server + agent Python CLI: https://github.com/Ryan-SAAS/pluginz
- Live registry: https://pluginz.startanaicompany.com/docs
License
MIT
