Command-line reference¶
There are two interfaces. t3-plugins manages the catalog and prints prompts for
T3. imps is the evidence-state CLI used by the agent; it does not implement a task
or run tests for you.
For source installs, use python3 bin/t3-plugins in place of t3-plugins.
Run t3-plugins --help or t3-plugins COMMAND --help for all options.
Catalog commands¶
| Command | Result |
|---|---|
list |
Print bundled plugin names and descriptions; does not list installed versions |
setup [PLUGIN] |
Install snapshots and skill adapters; omit the name for all five |
install [PLUGIN] |
Install snapshots only |
path PLUGIN |
Print the active installed entry path |
prompt PLUGIN [REQUEST…] |
Print a prompt to paste into T3; defaults to doctor |
doctor [PLUGIN] |
Check installed files and package currency; omit the name for all five |
activate PLUGIN VERSION |
Select an existing snapshot without migrating run state |
uninstall PLUGIN [--version VERSION] |
Remove owned snapshot files, preserving local edits and run state |
skills install [PLUGIN] --root PATH |
Install an adapter into one provider skill root |
skills uninstall [PLUGIN] --root PATH |
Remove an unchanged owned adapter |
resolve ROLE --capabilities FILE |
List available configured child-model candidates |
Omit the plugin from a skills command to act on all bundled plugins.
setup --root PATH replaces the default skill roots. Repeat it for multiple roots.
setup --capabilities FILE initializes routing from a saved T3 capabilities response.
setup --grant-learnings also applies the proposed learning-directory grants after
backing up provider configuration. See routing
and learnings before using these optional flags.
Custom locations¶
Pass --prefix before the command, or set T3_PLUGINS_PREFIX consistently:
t3-plugins --prefix /tmp/example-t3-plugins install imps
t3-plugins --prefix /tmp/example-t3-plugins doctor imps
t3-plugins --prefix /tmp/example-t3-plugins prompt imps doctor
Use a persistent writable directory for a permanent installation. State uses
XDG_STATE_HOME separately; changing the package prefix does not move existing runs.
Receipts and exit codes¶
Installation, setup, removal and integrity checks print JSON receipts. Setup prints
multiple lines, one per completed step. It is not a single all-catalog transaction;
read earlier receipts when a later step fails, resolve the conflict and retry.
path, prompt and list print text.
| Exit | Catalog meaning |
|---|---|
0 |
Command succeeded |
1 |
Integrity check failed, routing has no candidates, or setup retained an invalid routing config |
2 |
Invalid arguments, unreadable input or configuration error |
4 |
Installation refused because owned files were modified locally; back up edits before using --force |
5 |
Installation I/O error |
A successful prompt command proves only that an entry exists. A successful catalog
doctor proves installed integrity and currency, not model behavior or T3 readiness.
The agent's doctor checks workflow prerequisites instead.
install --dry-run previews snapshot installation; it does not preview skill setup.
uninstall PLUGIN --dry-run previews removal. --force on installation overwrites
modified owned files; on removal it deletes them. Back up edits before using it.
Inspect imps state¶
Homebrew installs the imps executable. In a source checkout use
python3 plugins/imps/cli.py. To use a selected snapshot's matching engine, obtain
its entry with t3-plugins path imps and run cli.py in that directory.
Pass --state-root PATH on every call when the run used a custom root. status
reads stored observations; validate computes readiness against the current tree;
report writes JSON and Markdown reports using that same validation.
The CLI prints a JSON envelope with ok, op, run_id and either data or error.
Exit codes are 0 success, 2 input/version, 3 conflict, 4 prohibited and 5
environment failure. Exit 0 from validate means validation ran, not that the work
is ready. Read data.ready, data.outcome and the missing/failed/stale evidence.
snapshot captures the current tree without a submission. The agent uses init,
check, evidence, review, child, waive,
note, policy, remote and cancel with schema-checked submissions. JSON goes
through --input FILE; --input - reads stdin, or --json OBJECT takes inline JSON.
Recipe commands are
recipe-scaffold, recipe-check and recipe-stamp. See the
imps entry
and submission schemas
when integrating directly. Never edit stored run JSON to force completion.