@vooodooo/magic
Version:
Vooodooo - AI orchestration platform
173 lines (130 loc) • 3.8 kB
Markdown
# Vooodooo
Vooodooo is an AI orchestration platform that helps you build applications with AI-first planning and documentation.
## Features
- **Agent System**: Specialized AI agents for different phases of development
- **Plugin System**: Extensible plugin architecture for customization
- **Planning System**: Template-based project planning
- **Documentation System**: AI-optimized documentation with human-readable conversion
## Installation
```bash
npm install /vooodooo
```
## Usage
### Agent System
```javascript
import { createAgentManager } from '@m/vooodooo';
// Create agent manager
const agentManager = createAgentManager({
agentsDir: './agents',
cursorRulesDir: './.cursor/rules'
});
// List available agents
const agents = agentManager.listAgents();
console.log(agents);
// Activate an agent
agentManager.activateAgent('visionary-architect');
// Deactivate the current agent
agentManager.deactivateAgent();
```
### Plugin System
```javascript
import { createPluginManager, createPluginLoader } from '@m/vooodooo';
// Create plugin manager and loader
const pluginManager = createPluginManager();
const pluginLoader = createPluginLoader(pluginManager, './plugins');
// Load all plugins
await pluginLoader.loadPlugins();
// Get all registered plugins
const plugins = pluginManager.getPlugins();
console.log(plugins);
```
### Planning System
```javascript
import { createPlanSystem } from '@m/vooodooo';
// Create plan system
const planSystem = createPlanSystem('./templates/plans');
// Get available templates
const templates = planSystem.getTemplates();
console.log(templates);
// Generate a plan from a template
planSystem.generatePlan({
templateId: 'project-plan',
values: {
projectName: 'My Awesome Project',
author: 'John Doe',
description: 'A project to do awesome things'
},
outputPath: './plans/awesome-project-plan.md'
});
```
### Documentation System
```javascript
import { createDocSystem } from '@m/vooodooo';
// Create documentation system
const docSystem = createDocSystem({
aiDir: './docs/ai',
humanDir: './docs/human'
});
// Convert AI documentation to human-readable
await docSystem.convertAiToHuman({
input: './docs/ai/component.md',
output: './docs/human/component.md'
});
// Convert human documentation to AI-optimized
await docSystem.convertHumanToAi({
input: './docs/human/guide.md',
output: './docs/ai/guide.md'
});
```
### Vooodooo Core
```javascript
import { createVooodooo } from '@m/vooodooo';
// Create Vooodooo instance
const vooodooo = createVooodooo({
agentsDir: './agents',
cursorRulesDir: './.cursor/rules',
pluginsDir: './plugins'
});
// Initialize
await vooodooo.initialize();
// Get subsystems
const agentManager = vooodooo.getAgentManager();
const pluginManager = vooodooo.getPluginManager();
```
## Creating Plugins
To create a plugin for Vooodooo, you need to implement the `Plugin` interface:
```javascript
import { Plugin, PluginAPI, PluginManifest } from '@m/vooodooo';
class MyPlugin implements Plugin {
manifest: PluginManifest = {
id: 'my-plugin',
name: 'My Plugin',
version: '1.0.0',
description: 'A plugin that does cool things',
author: {
name: 'John Doe',
email: 'john@example.com'
},
minPlatformVersion: '0.1.0',
main: 'index.js'
};
async initialize(api: PluginAPI): Promise<void> {
api.log('info', 'Initializing My Plugin');
// Register extensions
api.registerExtension({
extensionPointId: 'vooodooo.planTemplates',
implementation: {
id: 'my-template',
name: 'My Template',
content: '# My Template\n\nThis is a template.'
}
});
}
async cleanup(): Promise<void> {
// Clean up resources
}
}
export default MyPlugin;
```
## License
MIT