Skip to main content

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)

  1. Write a vibe.yaml manifest describing your app’s services
  2. vibe package bundles everything into a ZIP-based .vibeapp archive
  3. vibe sign signs the package with Ed25519; SHA-256 hashes every file
  4. Optionally encrypt with AES-256-GCM via --password

Running (macOS player)

  1. The host app verifies the Ed25519 signature before launching
  2. A persistent Alpine Linux VM starts via Apple’s Virtualization framework
  3. containerd runs your app’s services inside the VM
  4. State snapshots save automatically every 30 seconds (up to 100 per app)

Requirements

RoleRequirement
Open .vibeapp filesmacOS 14 (Sonoma) or later
Package and sign appsRust toolchain (for building from source)

Architecture

ComponentLanguageRole
vibe-cliRustPackage, sign, verify, inspect .vibeapp files
vibe-manifestRustManifest parsing and validation
vibe-signingRustEd25519 keygen, sign, verify, SHA-256 hashing
Vibe (macOS)SwiftmacOS UI, VM lifecycle, project library
Vibe is open source under the MIT license. Source code is at github.com/dolfin/vibe.