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#

HookEvent
agent.invokedAgent invocation started
agent.completedAgent invocation finished
skill.appliedSkill pattern applied
workflow.startedWorkflow began
workflow.completedWorkflow finished
context.generatedContext regenerated
prd.updatedPRD changed
quality.passedQuality gate passed
quality.failedQuality 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...