Plugin System Architecture
How to extend Bootspring with custom plugins.
Overview#
The plugin system allows extending Bootspring with:
- Custom agents
- Custom skills
- Custom workflows
- CLI commands
- Integrations
Plugin Architecture#
┌─────────────────────────────────────────────────────────────────────┐
│ PLUGIN SYSTEM │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Plugin Manager │ │
│ │ Load | Register | Lifecycle | Dependencies │ │
│ └──────────────────────────┬──────────────────────────────────┘ │
│ │ │
│ ┌──────────────────┼──────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Agent │ │ Skill │ │ Workflow │ │
│ │ Registry │ │ Registry │ │ Registry │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Command │ │ Tool │ │ Hook │ │
│ │ Registry │ │ Registry │ │ Registry │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
Plugin Interface#
Core Interface#
Loading code block...
Example Plugin#
Loading code block...
Plugin Manager#
Manager Implementation#
Loading code block...
Plugin Types#
Agent Plugin#
Loading code block...
Skill Plugin#
Loading code block...
Integration Plugin#
Loading code block...
Plugin Configuration#
Configuration Schema#
Loading code block...
Config Access#
Loading code block...
Plugin Storage#
Storage Interface#
Loading code block...
Storage Usage#
Loading code block...
Hook System#
Available Hooks#
| Hook | Event |
|---|---|
agent.invoked | Agent invocation started |
agent.completed | Agent invocation finished |
skill.applied | Skill pattern applied |
workflow.started | Workflow began |
workflow.completed | Workflow finished |
context.generated | Context regenerated |
prd.updated | PRD changed |
quality.passed | Quality gate passed |
quality.failed | Quality gate failed |
Hook Handler#
Loading code block...
Publishing Plugins#
Package Structure#
my-plugin/
├── package.json
├── tsconfig.json
├── src/
│ ├── index.ts # Plugin entry
│ ├── commands/ # CLI commands
│ ├── agents/ # Agent definitions
│ ├── skills/ # Skill definitions
│ └── hooks/ # Hook handlers
├── templates/ # File templates
├── tests/
└── README.md
Package.json#
Loading code block...
Publishing#
Loading code block...