A module is an extension shipped as a .vpack package. Modules contribute capabilities declaratively: navigation entries, UI slots, background workers, skills, and expert definitions — the package itself carries no freely executable code.
Built-in module: VibeWorking
Shipped with the app and enabled by default. It contributes:
- All primary sidebar entries (New Task, Skills, Kanban, Schedules, Experts, Projects);
- The built-in
review-codeskill; - Definitions for the six built-in experts and leads;
- Pages such as Kanban and Browser.
If the module ever misbehaves, the Modules page offers a "Repair VibeWorking" safe-mode button to restore it.
Optional module: VibeCoding
Adds an embedded native terminal to the workspace:
- Lives in the bottom panel of the workbench — run commands and read output directly;
- Shares the workspace with the agent, handy for manual intervention and verifying agent changes;
- Driven by the module's own worker process, isolated from the agent runtime.
Installing and uninstalling
On the Modules page:
- Import .vpack: pick a downloaded or built module package;
- On install, VibeSpace verifies the Ed25519 signature and the SHA-256 integrity manifest; failures are rejected;
- Installed modules can be disabled / enabled (a disabled module's contributions disappear);
- Roll back to the previous version or uninstall entirely.
There is no remote marketplace yet — .vpack files are sideloaded from trusted channels.
Security model
- Signature + integrity: every .vpack is Ed25519-signed and its files are hash-verified against the manifest, preventing tampering;
- Declarative contributions: package contents are never loaded and executed as code; navigation, UI, skills, and experts register via declarations;
- Capability requests: modules must declare sensitive capabilities (like "local shell"), and you grant them at install/enable time;
- Process isolation: module workers run in separate processes with frame size limits; a crash doesn't take down the app.
Dependencies and recovery
Modules can declare dependencies on other modules; the package manager resolves them across install, upgrade, and rollback. If an upgrade misbehaves, rollback restores the previous working state.