|
| 1 | +--- |
| 2 | +sidebar_position: 12 |
| 3 | +--- |
| 4 | + |
| 5 | +# Extensions System |
| 6 | + |
| 7 | +VibeAuracle features a professional-grade extension system where tools are treated as user-space applications. This allows for granular control over tool permissions, communication methods, and lifecycle management. |
| 8 | + |
| 9 | +## 📁 Extension Structure |
| 10 | + |
| 11 | +Each extension resides in its own directory within the VibeAuracle data directory: |
| 12 | +`~/.vibeauracle/vibes/{extension-uuid}/vibe.json` |
| 13 | + |
| 14 | +### `vibe.json` Schema |
| 15 | + |
| 16 | +```json |
| 17 | +{ |
| 18 | + "uuid": "unique-identifier", |
| 19 | + "name": "extension-name", |
| 20 | + "description": "helpful description", |
| 21 | + "version": "0.1.0", |
| 22 | + "enabled": true, |
| 23 | + "comms": { |
| 24 | + "tui": true, |
| 25 | + "cli": true, |
| 26 | + "uds": true |
| 27 | + }, |
| 28 | + "capabilities": { |
| 29 | + "agentic": true, |
| 30 | + "read_only": false |
| 31 | + } |
| 32 | +} |
| 33 | +``` |
| 34 | + |
| 35 | +## 🛠️ Management Commands |
| 36 | + |
| 37 | +| Command | Description | |
| 38 | +|---------|-------------| |
| 39 | +| `vibeaura extension list` | List all installed extensions and their status. | |
| 40 | +| `vibeaura extension register <name> <desc>` | Generate a unique `vibe.json` for a new tool. | |
| 41 | +| `vibeaura extension enable <uuid>` | Enable an extension. | |
| 42 | +| `vibeaura extension disable <uuid>` | Disable an extension. | |
| 43 | +| `vibeaura extension install <repo>` | (Planned) Install from a remote repository. | |
| 44 | +| `vibeaura extension uninstall <uuid>` | Remove an extension and its data. | |
| 45 | + |
| 46 | +## 🚀 Pre-installed Extensions |
| 47 | + |
| 48 | +VibeAuracle comes with two core extensions enabled by default: |
| 49 | +1. **Auracrab**: Intelligent Rust toolchain assistant. |
| 50 | +2. **Autocommiter**: AI-powered git commit automator. |
| 51 | + |
| 52 | +## 🛡️ Security |
| 53 | + |
| 54 | +Extensions that are disabled or do not have `agentic: true` capability cannot be invoked by the AI agent, even if their binaries are present on the system. This provides a robust "opt-in" model for all third-party integrations. |
0 commit comments