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...