-
Notifications
You must be signed in to change notification settings - Fork 4
Plugin Development
Alessio Rocchi edited this page Jan 27, 2026
·
1 revision
Guide to creating custom plugins for aistack.
Plugins extend aistack with:
- Custom agent types
- Custom MCP tools
- Custom hooks
- Custom workflows
my-plugin/
├── package.json
├── index.ts
└── README.md
// index.ts
import { Plugin, registerAgent, registerMCPTool } from '@blackms/aistack';
export const plugin: Plugin = {
name: 'my-plugin',
version: '1.0.0',
description: 'My custom plugin',
initialize(config) {
// Register custom agent
registerAgent({
type: 'my-agent',
name: 'My Custom Agent',
description: 'Does custom things',
systemPrompt: 'You are a custom agent...',
capabilities: ['custom-capability']
});
// Register custom MCP tool
registerMCPTool({
name: 'my_custom_tool',
description: 'Custom tool',
inputSchema: {
type: 'object',
properties: {
input: { type: 'string' }
}
},
handler: async (input) => {
return { result: 'custom result' };
}
});
},
cleanup() {
// Cleanup on shutdown
}
};# Install plugin
npx @blackms/aistack plugin add ./my-plugin
# List plugins
npx @blackms/aistack plugin list
# Remove plugin
npx @blackms/aistack plugin remove my-plugin{
"plugins": {
"enabled": true,
"directory": "./plugins",
"autoload": true
}
}Related:
Getting Started
Core Concepts
Agent Guides
- Overview
- Coder
- Researcher
- Tester
- Reviewer
- Adversarial
- Architect
- Coordinator
- Analyst
- DevOps
- Documentation
- Security Auditor
MCP Tools
- Overview
- Agent Tools
- Memory Tools
- Task Tools
- Session Tools
- System Tools
- GitHub Tools
- Review Loop Tools
- Identity Tools
Recipes
- Index
- Code Review
- Doc Sync
- Multi-Agent
- Adversarial Testing
- Full-Stack Feature
- Memory Patterns
- GitHub Integration
Advanced
- Plugin Development
- Custom Agent Types
- Workflow Engine
- Vector Search Setup
- Web Dashboard
- Programmatic API
- Resource Monitoring
Reference