Architecture - Entire
External Agent Plugins
External agent plugins are discovered through executable naming and $PATH lookup:
- You create an executable named
entire-agent-<name> - Place it anywhere on your
$PATH - The CLI discovers it at startup and registers it as a new agent
The plugin communicates with the CLI through subcommands that read/write JSON over stdin/stdout. Each invocation is stateless. Every subcommand invocation receives these environment variables:
| Variable | Description |
|---|---|
ENTIRE_REPO_ROOT |
Absolute path to the git repository root |
ENTIRE_PROTOCOL_VERSION |
Protocol version (currently 1) |
The working directory is always set to the repository root. The plugin follows these conventions:
- Output: JSON on stdout (unless noted otherwise)
- Errors: Non-zero exit code + message on stderr
- Stateless: Each invocation is independent, no persistent connection