Vibe
Vibe lets you package an AI-built app into a single file and send it to anyone. They open it with the Vibe player on their Mac and run it safely — no setup, no terminals, no dev stack required. Sharing software feels like sending a file, not deploying an app.What is a .vibeapp?
A.vibeapp is a self-contained archive that bundles your application manifest, container images, and optional seed data into one portable file. The Vibe macOS player verifies the package signature, spins up a lightweight Alpine Linux VM, and runs your services using containerd — all transparently.
Key Features
One file to share
Your whole app ships as a single
.vibeapp — email it, share a link, or send it over Slack.No installation for recipients
Opens like any document on macOS. Recipients need only the Vibe player.
Runs safely in a sandbox
Fully isolated from the host system. Capabilities are declared up-front and prompted before first run.
State is preserved
Apps remember what they were doing. Auto-save snapshots every 30 seconds, up to 100 per app.
Password protection
Optionally encrypt packages with AES-256-GCM before sharing. Recipients need the password to open.
Works with any AI-built stack
Node, Python, Postgres, Redis — anything containerized. Bring your own images.
How It Works
Vibe has two parts: a CLI (for developers packaging apps) and a macOS player (for everyone running them).Packaging (CLI)
- Write a
vibe.yamlmanifest describing your app’s services vibe packagebundles everything into a ZIP-based.vibeapparchivevibe signsigns the package with Ed25519; SHA-256 hashes every file- Optionally encrypt with AES-256-GCM via
--password
Running (macOS player)
- The host app verifies the Ed25519 signature before launching
- A persistent Alpine Linux VM starts via Apple’s Virtualization framework
- containerd runs your app’s services inside the VM
- State snapshots save automatically every 30 seconds (up to 100 per app)
Requirements
| Role | Requirement |
|---|---|
| Open .vibeapp files | macOS 14 (Sonoma) or later |
| Package and sign apps | Rust toolchain (for building from source) |
Architecture
| Component | Language | Role |
|---|---|---|
vibe-cli | Rust | Package, sign, verify, inspect .vibeapp files |
vibe-manifest | Rust | Manifest parsing and validation |
vibe-signing | Rust | Ed25519 keygen, sign, verify, SHA-256 hashing |
Vibe (macOS) | Swift | macOS UI, VM lifecycle, project library |
Vibe is open source under the MIT license. Source code is at github.com/dolfin/vibe.
