Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Easy Linux virtual machine on MacOS to sandbox LLM agents.
| Date | Stars |
|---|---|
| 2026-07-31 | 939 |
| 2026-08-06 | 939 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
35.0
growth rate 0.00%/day
Vibe is a quick, zero-configuration way to spin up a Linux virtual machine on Mac to sandbox LLM agents:
```
$ cd my-project
$ vibe
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓███████▓▒░░▒▓████████▓▒░
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓█▓▒▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓█▓▒▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░░▒▓██████▓▒░
░▒▓█▓▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓█▓▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓██▓▒░ ░▒▓█▓▒░▒▓███████▓▒░░▒▓████████▓▒░
Host Guest Mode
---------------------------------------- ----------------------- ----------
/Users/dev/work/my-project /root/my-project read-write
/Users/dev/.cache/vibe/.guest-mise-cache /root/.local/share/mise read-write
/Users/dev/.m2 /root/.m2 read-write
/Users/dev/.cargo/registry /root/.cargo/registry read-write
/Users/dev/.codex /root/.codex read-write
/Users/dev/.claude /root/.claude read-write
/Users/dev/.gemini /root/.gemini read-write
/Users/dev/.pi /root/.pi read-write
root@vibe:~/my-project#
```
On my M1 MacBook Air it takes ~10 seconds to boot.
Dependencies:
- An ARM-based Mac running MacOS 13 (Ventura) or higher.
- A network connection is required on the first run to download and configure the Debian Linux base image.
- That's it!
## Why use Vibe?
- LLM agents are more fun to use with `--yolo`, since they're not always interrupting you to approve their commands.
- Sandboxing the agent in a VM lets it install/remove whatever tools its lil' transformer heart desires, *without* wrecking your actual machine.
- You control what the agent (and thus the upstream LLM provider) can actually see, by controlling exactly what's shared into the VM sandbox.
(This project was inspired by me running `codex` *without* `--yolo` and seeing it reading files outside of the directory I started it in --- not cool, bro.)
I'm using virtual machines rather than containers because:
- Virtualization is more secure against malicious escapes than containers or the MacOS sandbox framework.
- Containers on MacOS require spinning up a virtual machine anyway.
Finally, as a matter of taste and style:
- I wrote the entire README myself, 100% with my human brain.
- The entire implementation is ~2000 lines of Rust.
- The only Rust dependencies are the [Objc2](https://github.com/madsmtm/objc2) interop crates and the [lexopt](https://github.com/blyxxyz/lexopt) argument parser.
- There are no emoji anywhere in this repository.
## Install
Vibe is a single binary built with Rust, with a [bundled networking helper](/helpers/vibe-usernet) written in Go.
Download [the latest binary built by GitHub actions](https://github.com/lynaghk/vibe/releases/tag/latest) and put it somewhere on your `$PATH`:
curl -LO https://github.com/lynaghk/vibe/releases/download/latest/vibe-macos-arm64.zip
unzip vibe-macos-arm64.zip
mkdir -p ~/.local/bin
mv vibe ~/.local/bin
export PATH="$HOME/.local/bin:$PATH"
If you use [mise-en-place](https://mise.jdx.dev/):
mise use github:lynaghk/vibe@latest
I'm not making formal releases or keeping a change log.
I recommend reading the commit history and pinning to a specific version.
If you're building from a checkout, use mise to get the Rust and Go compilers:
mise install --locked
cargo build --locked
## Using Vibe
Vibe only does two things:
1. **Runs** VMs from a raw disk image file
2. **Provisions** VMs by booting a base raw disk image, running scripts in it, then saving the resulting raw disk image as a template
When you run `vibe` in a project directory, it copies the default template (`~/.cache/vibe/default.raw`) to `.vibe/instance.raw`, boots it up, and attaches your terminal to this VM.
When you `exit` this shell, the VM is shutdown.
The disk state persists until yExcerpt of 16,953 characters
Read on GitHub92
3
3
2
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:6fa22ab4b9bd1257, llm:description: 'Easy Linux virtual machine on MacOS to sandbox LLM agents.' language: Rust
matched fp:6fa22ab4b9bd1257, llm:description: 'Easy Linux virtual machine on MacOS to sandbox LLM agents.' language: Rust