
CLI ultrarrápida en macOS con Apple Silicon para desarrollo rápido y aislado y agentes LLM.
un sandbox ultrarápido y de código abierto para ejecutar agentes de codificación de forma segura.
VibeBox es un sandbox micro-VM por proyecto para ejecutar agentes de codificación en macOS (Apple Virtualization Framework). Está optimizado para un flujo de trabajo de uso diario: reentrada rápida en caliente, montajes explícitos y sesiones reutilizables.
Para quién es: usuarios de macOS que ejecutan agentes de codificación y quieren un aislamiento real sin renunciar a un flujo de trabajo diario rápido.
Datos rápidos: la reentrada en caliente suele ser <5s en mi M3 (varía según la máquina/caché); la primera ejecución descarga y aprovisiona una imagen base Debian (dependiente de la red).
Modelo de seguridad: VM invitada Linux con listas de montaje explícitas desde vibebox.toml (repo primero, todo lo demás
opt-in).
vibebox te lleva a un sandbox reutilizable para el repo actual# desde cualquier repo
cd mi-proyecto
vibebox
Lo que deberías ver (aproximadamente):
vibebox: iniciando (sesión: mi-proyecto)
vibebox: conectando...
vibecoder@vibebox:~/mi-proyecto$
Uso agentes de codificación a diario y quería darles un shell real sin entregarles mi máquina anfitriona. Si cierras todo, recibes confirmaciones constantes; si lo aflojas, te preocupas por borrar archivos, tocar secretos o salir del repo.
VibeBox es el punto medio: un sandbox por repo con un límite duro de VM, reentrada rápida y montajes explícitos. Está construido para estar "siempre encendido" para el trabajo de agentes sin convertir la seguridad en una molestia.
Los contenedores son geniales. VibeBox no intenta reemplazar Docker/devcontainers para construir servicios.
Específicamente quería un entorno por defecto en forma de VM para flujos de trabajo de agentes en macOS:
Esto es por qué no usé simplemente las opciones existentes:
Eso es lo que me empujó a construir VibeBox: quería un sandbox por proyecto que sea rápido de entrar (solo vibebox),
soporte configuración real + sesiones, y mantenga un límite de aislamiento duro.
# script de instalación
curl -fsSL https://raw.githubusercontent.com/robcholz/vibebox/main/install | bash
# gestores de paquetes
cargo install vibebox
# instalación manual
curl -LO https://github.com/robcholz/vibebox/releases/download/latest/vibebox-macos-arm64.zip
unzip vibebox-macos-arm64.zip
mkdir -p ~/.local/bin
mv vibebox ~/.local/bin
export PATH="$HOME/.local/bin:$PATH"
Requisitos
Primera ejecución
La primera ejecución de vibebox descarga una imagen base Debian y la aprovisiona. Después de eso, las instancias por proyecto reutilizan la
imagen base en caché para inicios mucho más rápidos.
Inicio rápido
cd /ruta/a/tu/proyecto
vibebox
En la primera ejecución, VibeBox crea vibebox.toml en tu proyecto (si falta) y un directorio .vibebox/ para los datos de la instancia.
Configuración (vibebox.toml)
vibebox.toml reside en la raíz de tu proyecto por defecto. Puedes sobrescribirlo con vibebox -c ruta/a/vibebox.toml o la
variable de entorno VIBEBOX_CONFIG_PATH, pero la ruta debe permanecer dentro del directorio del proyecto.
Configuración por defecto (se crea automáticamente cuando falta):
[box]
cpu_count = 2
ram_mb = 2048
disk_gb = 5
mounts = [
"~/.codex:~/.codex:read-write",
"~/.claude:~/.claude:read-write",
]
[supervisor]
auto_shutdown_ms = 20000
disk_gb solo se aplica cuando se crea el disco de la instancia por primera vez. Si lo cambias después, ejecuta vibebox reset para
recrear el disco.
Montajes
~/<nombre-del-proyecto>, y el shell arranca allí..git, se enmascara con un montaje tmpfs dentro de la VM para desalentar ediciones accidentales desde el
invitado.box.mounts con el formato host:guest[:read-only|read-write].~. Las rutas relativas del invitado se tratan como /root/<ruta>.~ se enlazan a /home/<ssh-user> por conveniencia. Ejecuta vibebox explain para ver las
asignaciones resueltas de anfitrión/invitado.Comandos CLI
vibebox # iniciar o conectarse a la VM del proyecto actual
vibebox list # listar sesiones de proyecto conocidas
vibebox reset # eliminar .vibebox para este proyecto y recrearlo en la próxima ejecución
vibebox purge-cache # eliminar la caché global (~/.cache/vibebox)
vibebox explain # mostrar información de montajes y red
Dentro de la VM
vibecodervibeboxgit, curl, ripgrep, openssh-server y sudo.mise y configura herramientas como uv, node, @openai/codex y
@anthropic-ai/claude-code (mejor esfuerzo).:help y :exit.Estado y Caché
.vibebox/ (disco de instancia, claves SSH, logs, socket/pid del gestor). vibebox reset lo elimina.~/.cache/vibebox (imagen base + caché compartida del invitado). vibebox purge-cache la limpia.~/.vibebox/sessions y se muestra con vibebox list.Si estás interesado en contribuir a VibeBox, por favor lee nuestra guía de contribución antes de enviar un pull request.
VibeBox está construido para sandboxes locales rápidos y repetibles con mínima ceremonia. Lo que es diferente aquí:
vibebox — te lleva al sandbox desde tu proyecto.vibebox.toml, donde puedes establecer CPU, RAM, tamaño de disco y montajes.vibe por lynaghk.
Y la increíble comunidad de Rust — sin el ecosistema y el toolchain como crates.io, ¡esto no sería posible!
Sígueme en X x.com/robcholz