Skip to content

Josepavese/nido

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

350 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

"Hatch your agents. Let them fly." 🐣💾

Release License Go Report Card

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.


🕹️ The Game Loop: Spawn -> Execute -> Destroy

The Lifecycle

  1. INSERT COIN (Spawn): An agent needs a body. Nido "hatches" a VM from a cached genetic sequence (Image) instantly using Linked Clones technology.
  2. PLAY (Execute): The VM is alive. The agent connects via SSH (Neural Link) and has full root access. No shared kernels. No rules.
  3. GAME OVER (Destroy): The mission is complete. The VM is vaporized. The nest remains pristine for the next player.

⚡ Loading... (Installation)

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.

💾 Quick Install (Web)

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 checksum

Windows (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 version

ARM 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 version

🪄 Cheat Codes (Auto-Complete)

Tab-completion is enabled by default. If it's missing, equip it manually:

# Add to ~/.bashrc or ~/.zshrc
source <(nido completion bash)  # or zsh / fish / powershell

🦄 Select Your Flavour

Select Flavour

Nido supports a wide roster of "fighters" (Cloud Images). Ubuntu, Debian, Alpine, Arch, choose your pixelated champion.

Windows Blueprints

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 Evaluation
  • windows-11-iot-ltsc-eval - Windows 11 IoT Enterprise LTSC 2024 Evaluation
  • windows-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 --gui

The 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.

🎮 Real World Example (Combo Move)

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-01

Result: A fresh VM boots in <2 seconds. A VNC window opens. You are root.


🦾 Neural Interface (For AI Agents)

Nido is designed to be driven by Large Language Models (Claude, GPT-4, Gemini).

🤖 Model Context Protocol (MCP)

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 agents

🧩 Agent Skill

Nido 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.

🧠 JSON Mode

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"}]}

🕹️ Control Deck (Command List)

Here is the full move list for the Nido console.

🐣 Life Cycle (The Game Loop)

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

🔍 Observability (HUD)

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

🔌 Connectivity (Link Cable)

Command Action Arcade Analog
nido ssh <name> SSH into VM LINK CABLE

🧬 Genetic Engineering (Images & Templates)

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

⚙️ System (Options Menu)

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

🧬 Killer Feature: Linked Clones

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. 🚀


🤝 Contributing

Insert Coin to Join.

  1. Fork the repo.
  2. go run ./cmd/nido gui to test the Arcade UI.
  3. Run go run ./cmd/nido-validator to insure your code withstands the pressure.
  4. Submit a PR.
  5. High Scores are recorded in AUTHORS.

📜 License

MIT License. Free as in "Free Play".


Made with 💜 and ☕ by digital artisans.
EST. 2025 • "The Grid. A digital frontier."

About

🪺 Nido: The Arcade Console for AI Agents. Fast, local VM orchestration (QEMU/KVM) with MCP Server support. 80s aesthetics included.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors