Skip to content

Commit deb8946

Browse files
committed
✨ feat: add extension system documentation and commands
- Introduce a new documentation file for the Extensions System in VibeAuracle, detailing the structure and management commands for extensions. - Update the usage documentation to include commands for managing installed extensions. - Refactor extension.go to streamline imports and enhance clarity. - Update go.mod and go.sum to include the uuid package as a dependency.
1 parent b9bf948 commit deb8946

5 files changed

Lines changed: 59 additions & 2 deletions

File tree

docs/docs/extensions.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
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.

docs/docs/usage.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ VibeAuracle provides both an interactive TUI and a set of CLI commands for syste
1717
| `vibeaura config` | View or update configuration |
1818
| `vibeaura auth` | Manage credentials securely |
1919
| `vibeaura daemon start` | Start the background IPC server |
20+
| `vibeaura extension list` | Manage installed AI extensions |
2021
| `vibeaura uninstall` | Remove the tool but keep your data |
2122

2223
## TUI Commands (Inside the Chat)

internal/vibe/extension.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
package vibe
22

33
import (
4-
"context"
54
"encoding/json"
65
"fmt"
76
"os"
87
"path/filepath"
98
"sync"
109

1110
"github.com/google/uuid"
12-
"github.com/nathfavour/vibeauracle/sys"
1311
)
1412

1513
// ExtensionComms defines preferred communication methods

internal/vibe/go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
module github.com/nathfavour/vibeauracle/internal/vibe
22

33
go 1.25.5
4+
5+
require github.com/google/uuid v1.6.0 // indirect

internal/vibe/go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
2+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=

0 commit comments

Comments
 (0)