UNPKG

@vooodooo/magic

Version:

Vooodooo - AI orchestration platform

173 lines (130 loc) 3.8 kB
# 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 @m/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