Plugins
Abstrax supports extensibility through standalone executable plugins. Each plugin is a separate binary that Abstrax discovers and delegates commands to. Plugins are not Go shared libraries and do not use Go's native plugin package.
Use the abstrax plugin command group to install, update, and remove plugins from the registry. See Plugin commands for the full command reference.
For users
| Page | What it covers |
|---|---|
| How plugins work | Command delegation, naming, and where binaries are found |
| Registry | The public registry, trust levels, status, and release channels |
| Security | What to know before installing, running, or publishing a plugin |
For plugin authors
| Page | What it covers |
|---|---|
| Metadata protocol | The plugin metadata subcommand and required JSON fields |
| Integrating with Abstrax | Environment variables and stable JSON APIs for project data |
| Creating a plugin | Build, test, and publish a plugin |
| Registry submission | Submit a plugin to the official registry |
| Registry API | HTTP endpoints, request parameters, and response shapes |
Quick example
sudo abstrax plugin install example
abstrax example hello --name Mike
abstrax plugin info example
The reference implementation lives in the plugin-example/ directory in the repository. A minimal embedded example also exists at cli/cmd/abstrax-example/ for local testing.