python -m server plugin … — scaffold, install, and manage plugins from a shell.
Generated from the argparse definition in graph/plugins/cli.py.
Two deliberate non-behaviors, because both are consent boundaries (ADR 0027): install does not enable a plugin, and install does not install its Python dependencies. Fetching code is not running it, so each step is a separate, explicit act.
| Command | Purpose |
|---|---|
new |
scaffold a new plugin skeleton on disk (ready to fill in + enable) |
new-bundle |
scaffold a plugin BUNDLE (protoagent.bundle.yaml, ADR 0040) |
install |
install a plugin — or a bundle of plugins — from a git URL (does NOT enable it) |
list |
list git-installed plugins (from plugins.lock) |
uninstall |
remove a git-installed plugin (code + lock + enabled ref) |
update-bundle |
re-resolve a bundle's ref + reinstall members at the new pins (#2718; code+lock only — a running server picks the new code up on restart/reload) |
uninstall-bundle |
remove a bundle: its exclusively-owned members + the lock row (shared members stay) |
sync |
re-clone locked plugins at their pinned SHA (reproducible set) |
install-deps |
pip-install a plugin's declared requires_pip (explicit code-exec) |
python -m server plugin new [-h] [--summary SUMMARY] [--view] [--skill] [--workflow] [--comms] [--tests] [--git] [--dir DIR] name
Scaffold a new plugin skeleton on disk (ready to fill in + enable).
| Argument | Meaning |
|---|---|
name |
human name (the id is slugified from it, e.g. "My Plugin" → my-plugin) |
--summary |
one-line description for the manifest (default 'A protoAgent plugin.') |
--view |
include a console view (sandboxed iframe + router) |
--skill |
include a SKILL.md skill stub |
--workflow |
include a workflow YAML stub |
--comms |
a communication plugin (ChatAdapter, ADR 0029) instead of a tool plugin |
--tests |
include a host-free test suite + CI + requirements-dev (for a standalone-repo plugin) |
--git |
git init + initial commit — a repo from birth (ADR 0096 D6) |
--dir |
target dir (default: the live plugins dir the loader discovers) |
python -m server plugin new-bundle [-h] [--summary SUMMARY] [--member id=url[@ref]] [--builtin id] [--dir DIR] name
Scaffold a plugin BUNDLE (protoagent.bundle.yaml, ADR 0040).
| Argument | Meaning |
|---|---|
name |
human name for the bundle (slugified to its id) |
--summary |
one-line description (default 'A protoAgent plugin bundle.') |
--member |
a git plugin member; repeatable (e.g. --member board=https://github.com/you/board@v0.1.0) (default []) |
--builtin |
a built-in member that ships with protoAgent; repeatable (e.g. --builtin delegates) (default []) |
--dir |
target dir (default: the live plugins dir) |
python -m server plugin install [-h] [--ref REF] [--force] url
Install a plugin — or a bundle of plugins — from a git URL (does NOT enable it).
| Argument | Meaning |
|---|---|
url |
git URL (https://, ssh://, git@, or a local path) of a plugin or a bundle repo |
--ref |
tag, branch, or commit SHA to pin (default: default branch HEAD) |
--force |
replace an already-installed plugin of the same id |
python -m server plugin list [-h]
List git-installed plugins (from plugins.lock).
python -m server plugin uninstall [-h] [--purge] id
Remove a git-installed plugin (code + lock + enabled ref).
| Argument | Meaning |
|---|---|
id |
the plugin id to remove (as it appears in plugin list) |
--purge |
also remove the plugin's config section + secrets |
python -m server plugin update-bundle [-h] [--ref REF] id
Re-resolve a bundle's ref + reinstall members at the new pins (#2718; code+lock only — a running server picks the new code up on restart/reload).
| Argument | Meaning |
|---|---|
id |
the bundle id (see plugins.lock bundles[]) |
--ref |
override the recorded ref (tag/branch/SHA) |
python -m server plugin uninstall-bundle [-h] [--purge] id
Remove a bundle: its exclusively-owned members + the lock row (shared members stay).
| Argument | Meaning |
|---|---|
id |
the bundle id |
--purge |
also remove each member's config + secrets |
python -m server plugin sync [-h]
Re-clone locked plugins at their pinned SHA (reproducible set).
python -m server plugin install-deps [-h] id
Pip-install a plugin's declared requires_pip (explicit code-exec).
| Argument | Meaning |
|---|---|
id |
the plugin id whose declared deps to install |