plugin

Manage Bootspring plugins and extensions.

Synopsis#

bootspring plugin <command> [options]

Description#

The plugin command manages Bootspring plugins that extend functionality. Plugins can add new agents, skills, workflows, integrations, and CLI commands.

Commands#

list#

List installed and available plugins.

bootspring plugin list [options]

Options:

OptionDescription
--installedShow only installed plugins
--availableShow available plugins from registry
--category=<name>Filter by category

Categories:

CategoryDescription
agentsAdditional expert agents
skillsCode patterns and templates
workflowsCustom workflows
integrationsThird-party integrations
themesDashboard themes

Examples:

1# List all plugins 2bootspring plugin list 3 4# List installed only 5bootspring plugin list --installed 6 7# List integration plugins 8bootspring plugin list --category=integrations

Output:

⚡ Bootspring Plugins Installed: ✓ @bootspring/plugin-linear 1.2.0 Linear integration ✓ @bootspring/plugin-sentry 1.0.0 Sentry error tracking ✓ @bootspring/plugin-posthog 1.1.0 PostHog analytics Available: ○ @bootspring/plugin-slack 1.3.0 Slack notifications ○ @bootspring/plugin-notion 1.0.0 Notion sync ○ @bootspring/plugin-datadog 1.0.0 Datadog monitoring ○ @bootspring/plugin-terraform 0.9.0 Terraform IaC

install#

Install a plugin.

bootspring plugin install <name> [options]

Options:

OptionDescription
--version=<v>Install specific version
--save-devInstall as dev dependency
--forceForce reinstall

Examples:

1# Install plugin 2bootspring plugin install @bootspring/plugin-linear 3 4# Install specific version 5bootspring plugin install @bootspring/plugin-sentry --version=1.0.0 6 7# Install from npm 8bootspring plugin install bootspring-plugin-custom

uninstall#

Remove a plugin.

bootspring plugin uninstall <name> [options]

Options:

OptionDescription
--keep-configKeep plugin configuration

Examples:

# Uninstall plugin bootspring plugin uninstall @bootspring/plugin-linear # Keep config for later bootspring plugin uninstall @bootspring/plugin-sentry --keep-config

update#

Update installed plugins.

bootspring plugin update [name] [options]

Options:

OptionDescription
--allUpdate all plugins
--checkCheck for updates only

Examples:

1# Update all plugins 2bootspring plugin update --all 3 4# Update specific plugin 5bootspring plugin update @bootspring/plugin-linear 6 7# Check for updates 8bootspring plugin update --check

info#

Show plugin details.

bootspring plugin info <name>

Output:

⚡ Plugin: @bootspring/plugin-linear Version: 1.2.0 Author: Bootspring Team License: MIT Repository: github.com/bootspring/plugin-linear Description: Sync user stories with Linear issues. Two-way sync keeps your PRD and Linear in perfect harmony. Features: - Import issues as user stories - Export stories to Linear - Two-way sync - Webhook support - Custom field mapping Commands Added: - bootspring linear sync - bootspring linear import - bootspring linear export Configuration: plugins: linear: apiKey: "lin_api_xxx" teamId: "TEAM" defaultProject: "PROJECT"

create#

Create a new plugin project.

bootspring plugin create <name> [options]

Options:

OptionDescription
--template=<name>Plugin template
--typescriptUse TypeScript (default)

Templates:

TemplateDescription
basicBasic plugin structure
agentCustom agent plugin
skillCustom skill plugin
workflowCustom workflow plugin
integrationIntegration plugin

Examples:

1# Create basic plugin 2bootspring plugin create my-plugin 3 4# Create agent plugin 5bootspring plugin create my-agent --template=agent 6 7# Create integration 8bootspring plugin create my-integration --template=integration

publish#

Publish a plugin to the registry.

bootspring plugin publish [options]

Options:

OptionDescription
--access=<level>Access level (public, private)
--tag=<name>Publish tag (latest, beta)

Examples:

# Publish to registry bootspring plugin publish # Publish as beta bootspring plugin publish --tag=beta

config#

Configure plugin settings.

bootspring plugin config <name> [options]

Options:

OptionDescription
--set=<key>=<value>Set configuration value
--get=<key>Get configuration value
--resetReset to defaults

Examples:

1# Set API key 2bootspring plugin config linear --set=apiKey=lin_api_xxx 3 4# Get current config 5bootspring plugin config linear --get=teamId 6 7# Reset configuration 8bootspring plugin config linear --reset

Official Plugins#

Integration Plugins#

PluginDescription
@bootspring/plugin-linearLinear project management
@bootspring/plugin-notionNotion documentation
@bootspring/plugin-slackSlack notifications
@bootspring/plugin-discordDiscord integration
@bootspring/plugin-githubEnhanced GitHub features

Monitoring Plugins#

PluginDescription
@bootspring/plugin-sentryError tracking
@bootspring/plugin-posthogProduct analytics
@bootspring/plugin-datadogAPM monitoring
@bootspring/plugin-logflareLog management

DevOps Plugins#

PluginDescription
@bootspring/plugin-terraformInfrastructure as code
@bootspring/plugin-dockerDocker management
@bootspring/plugin-k8sKubernetes integration
@bootspring/plugin-awsAWS services

Plugin Development#

Plugin Structure#

my-plugin/ ├── package.json ├── src/ │ ├── index.ts # Plugin entry │ ├── commands/ # CLI commands │ ├── agents/ # Custom agents │ ├── skills/ # Custom skills │ └── workflows/ # Custom workflows ├── templates/ # Code templates └── README.md

Plugin Interface#

1// src/index.ts 2import { Plugin, PluginContext } from '@bootspring/plugin-sdk'; 3 4export default class MyPlugin implements Plugin { 5 name = 'my-plugin'; 6 version = '1.0.0'; 7 8 async activate(context: PluginContext) { 9 // Register commands 10 context.registerCommand('my-command', this.myCommand); 11 12 // Register agents 13 context.registerAgent('my-agent', myAgentConfig); 14 15 // Register skills 16 context.registerSkill('my-skill', mySkillConfig); 17 } 18 19 async deactivate() { 20 // Cleanup 21 } 22 23 private async myCommand(args: string[]) { 24 // Command implementation 25 } 26}

Configuration Schema#

1// Plugin config schema 2export const configSchema = { 3 apiKey: { 4 type: 'string', 5 required: true, 6 secret: true, 7 description: 'API key for the service', 8 }, 9 teamId: { 10 type: 'string', 11 required: false, 12 description: 'Team identifier', 13 }, 14 syncInterval: { 15 type: 'number', 16 default: 300, 17 description: 'Sync interval in seconds', 18 }, 19};

Configuration#

Plugin configuration in bootspring.config.js:

1module.exports = { 2 plugins: { 3 // Plugin-specific config 4 linear: { 5 apiKey: process.env.LINEAR_API_KEY, 6 teamId: 'TEAM', 7 defaultProject: 'PROJECT', 8 twoWaySync: true, 9 }, 10 11 sentry: { 12 dsn: process.env.SENTRY_DSN, 13 environment: process.env.NODE_ENV, 14 }, 15 16 posthog: { 17 apiKey: process.env.POSTHOG_KEY, 18 host: 'https://app.posthog.com', 19 }, 20 }, 21};

Examples#

Install and Configure Linear#

1# Install plugin 2bootspring plugin install @bootspring/plugin-linear 3 4# Configure 5bootspring plugin config linear --set=apiKey=$LINEAR_API_KEY 6bootspring plugin config linear --set=teamId=TASK 7 8# Use plugin commands 9bootspring linear sync 10bootspring linear import --project=TASK

Create Custom Agent Plugin#

1# Create plugin 2bootspring plugin create my-expert-agent --template=agent 3 4# Develop... 5cd my-expert-agent 6npm install 7npm run build 8 9# Test locally 10bootspring plugin install ./my-expert-agent 11 12# Publish 13bootspring plugin publish