"Hatch your agents. Let them fly." 🐣💾
Nido is the retro-futuristic nest for your AI agents. It spawns real Virtual Machines in milliseconds, giving your autonomous code a safe place to hatch, grow, and execute.
Containers are cages. Nido is a habitat. 🪺
Built on QEMU and fueled by 80s nostalgia, Nido feels like a game console for DevOps. It provides a full, unconstrained OS for your agents to explore, break, and rebuild.
- INSERT COIN (Spawn): An agent needs a body. Nido "hatches" a VM from a cached genetic sequence (Image) instantly using Linked Clones technology.
- PLAY (Execute): The VM is alive. The agent connects via SSH (Neural Link) and has full
rootaccess. No shared kernels. No rules. - GAME OVER (Destroy): The mission is complete. The VM is vaporized. The nest remains pristine for the next player.
SYSTEM REQUIREMENTS: Linux, macOS, Android (Termux), or Windows (WSL2/PowerShell). QEMU is required to run VMs; the quick installers check for it and offer to install it where supported. On Windows, the installer can also register/install winget and enable Windows Hypervisor Platform for WHPX acceleration.
WINDOWS STATUS: Windows host support is now smoke-tested on a real Windows VM: online installer parsing,
nido doctor, catalog/blueprint listing, and basic VM lifecycle passed. Treat it as usable for core workflows, but still young compared with Linux/macOS; it needs heavier long-running and workload-specific testing.
Run this command in your terminal. Do not turn off the console while saving.
Linux & macOS:
{ curl -fsSL https://github.com/Josepavese/nido/releases/latest/download/install.sh || curl -fsSL https://raw.githubusercontent.com/Josepavese/nido/main/installers/quick-install.sh; } | bash
# Restart your terminal or source your config to initialize the matrix
source ~/.bashrc # or ~/.zshrc, power up the path
nido version # Check checksumWindows (PowerShell):
try { irm https://github.com/Josepavese/nido/releases/latest/download/install.ps1 | iex } catch { irm https://raw.githubusercontent.com/Josepavese/nido/main/installers/quick-install.ps1 | iex }
# Restart your terminal to initialize the matrix
nido versionARM Linux SBCs:
Run this inside your favorite ARM-based Linux distro (Raspberry Pi, Pine64, etc). Android/Termux users should prefer the source installer when Android-specific packages are needed.
{ curl -fsSL https://github.com/Josepavese/nido/releases/latest/download/install.sh || curl -fsSL https://raw.githubusercontent.com/Josepavese/nido/main/installers/quick-install.sh; } | bash
# Reload your config
source ~/.bashrc
nido versionTab-completion is enabled by default. If it's missing, equip it manually:
# Add to ~/.bashrc or ~/.zshrc
source <(nido completion bash) # or zsh / fish / powershellNido supports a wide roster of "fighters" (Cloud Images). Ubuntu, Debian, Alpine, Arch, choose your pixelated champion.
Windows images are available as buildable blueprints because Microsoft distributes installer media rather than ready-to-run qcow2 cloud images. The current official-name entries are:
windows-11-eval- Windows 11 Enterprise Evaluationwindows-11-iot-ltsc-eval- Windows 11 IoT Enterprise LTSC 2024 Evaluationwindows-server-2022-core-eval- Windows Server 2022 Evaluation (Server Core)
nido blueprint list
nido blueprint build windows-11-eval
nido spawn my-win --image windows-11-eval --guiThe first boot may continue Windows OOBE/post-install work after the blueprint build reports ready. Use --gui for that first boot so the setup state is visible.
Let's hatch a Ubuntu 24.04 bird named agent-01, attach a graphical interface (GUI), and log in immediately.
# 1. DOWNLOAD ROM (Pull Image)
nido images pull ubuntu:24.04
# 2. START GAME (Spawn VM with GUI and custom resources)
nido spawn agent-01 --image ubuntu:24.04 --gui --memory 4096 --cpus 4
# 3. LINK CABLE (SSH Connection)
nido ssh agent-01Result: A fresh VM boots in <2 seconds. A VNC window opens. You are root.
Nido is designed to be driven by Large Language Models (Claude, GPT-4, Gemini).
Nido speaks native MCP. The server now exposes a compact agent-facing surface: a few high-power tools (nido_vm, nido_template, nido_image, nido_blueprint, nido_system) plus read-only resources like nido://fleet/vms, nido://catalog/blueprints, and nido://system/config. This reduces tool-selection ambiguity, lowers token overhead, and makes agent planning simpler than a flood of one-action tools.
nido register # Generates the config for your AI client
nido mcp --help # Human-readable MCP guide
nido mcp-help # Machine-readable MCP guide for agentsNido also ships an optional Codex-compatible skill for developers who want agents to use Nido as a standard VM test and isolation layer.
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
cp -R extras/skills/nido-vm-testing "${CODEX_HOME:-$HOME/.codex}/skills/"The skill teaches agents how to spawn disposable VMs, provision prerequisites with --user-data, upload software under test, parse dynamic ports, run tests, remove the VM, and speed repeated runs with templates. See docs/agent-skills.md.
Every command supports --json. Perfect for scripts and robot eyes.
nido ls --json
# Output: {"vms": [{"name": "agent-01", "state": "running", "ip": "10.0.2.15"}]}Here is the full move list for the Nido console.
| Command | Action | Arcade Analog |
|---|---|---|
nido spawn <name> [--image <tag>] [--accel <id>|auto] ... |
Create and hatch a new VM (Defaults: min(2048MB, 50% Host RAM), 1 vCPU) | INSERT COIN |
nido start <name> [--gui] [--cmdline <args>] |
Revive a stopped VM | CONTINUE? 10..9.. |
nido stop <name> |
ACPI Shutdown signal | PAUSE |
nido delete <name> |
Destroy VM permanently | GAME OVER |
nido prune |
Delete ALL stopped VMs | CLEAR HIGH SCORES |
| Command | Action | Arcade Analog |
|---|---|---|
nido ls |
List all VMs | PLAYER SELECT |
nido info <name> |
Show IP, Ports, PID | STATS SCREEN |
nido gui |
Interactive TUI Dashboard | ARCADE MODE |
nido doctor |
Diagnose system health | TEST MENU |
| Command | Action | Arcade Analog |
|---|---|---|
nido ssh <name> |
SSH into VM | LINK CABLE |
| Command | Action | Arcade Analog |
|---|---|---|
nido images list |
Browse cloud images | CHARACTER ROSTER |
nido images pull <tag> |
Download image | LOAD ROM |
nido cache ls |
View local cache | MEMORY CARD |
nido cache prune |
Clear unused images | DELETE SAVE |
nido template list |
List custom templates | USER SKINS |
nido template create <vm> <name> |
Save VM state as template | SAVE STATE |
nido template delete <name> |
Delete template | ERASE |
nido blueprint list |
Browse image recipes | SCHEMATICS |
nido blueprint info <name> |
Inspect a build recipe | BLUEPRINT VIEWER |
nido blueprint build <name> |
Build VM image from recipe | CRAFTING |
nido build <blueprint> |
Compatibility alias | CRAFTING |
| Command | Action | Arcade Analog |
|---|---|---|
nido config <vm> [--memory MB] [--cpu N] [--accel <id>] [--qemu-arg "-flag"] ... |
Modify existing VM resources | PLAYER STATS |
nido config set <key> <val> |
Update global Nido settings | OPTIONS |
nido register |
Setup MCP integration | CONTROLLER CONFIG |
nido update |
Self-update from GitHub | OTA PATCH |
nido uninstall |
Nuclear cleanup | SELF DESTRUCT |
nido version |
Show version info | CREDITS |
nido help |
Show usage guide | TUTORIAL |
Why download 2GB every time? Nido downloads the generic "Common ROM" (Base Image) once.
Every VM you spawn is just a diff layer (mutation) on top of that ROM.
- Base Image: Read-Only. Safe.
- VM Disk: Read-Write. Ephemeral.
Result: Spawn 100 VMs, use disk space for 1. 🚀
Insert Coin to Join.
- Fork the repo.
go run ./cmd/nido guito test the Arcade UI.- Run
go run ./cmd/nido-validatorto insure your code withstands the pressure. - Submit a PR.
- High Scores are recorded in
AUTHORS.
MIT License. Free as in "Free Play".
Made with 💜 and ☕ by digital artisans.
EST. 2025 • "The Grid. A digital frontier."