A single <8MB binary with a modern Web UI, CLI, and API for KVM.
No XML. No bloat. Just VMs.
Flint is a modern, self-contained KVM management tool built for developers, sysadmins, and home labs who want zero bloat and maximum efficiency. It was built in a few hours out of a sudden urge for something better.
Prerequisites: A Linux host with libvirt and qemu-kvm installed.
curl -fsSL https://raw.githubusercontent.com/ccheshirecat/flint/main/install.sh | shAuto-detects OS/arch, installs to /usr/local/bin, and you're ready in seconds.
- 🖥️ Modern UI — A beautiful, responsive Next.js + Tailwind interface, fully embedded.
- ⚡ Single Binary — No containers, no XML hell. A sub-8MB binary is all you need.
- 🛠️ Powerful CLI & API — Automate everything. If you can do it in the UI, you can do it from the command line or API.
- 📦 Frictionless Provisioning — Native Cloud-Init support and a simple, snapshot-based template system.
- 💪 Non-Intrusive — Flint is a tool that serves you. It's not a platform that locks you in.
1. Start the Server
flint serve- Web UI:
http://localhost:5550 - API:
http://localhost:5550/api
2. Use the CLI
# List your VMs
flint vm list --all
# Launch a new Ubuntu VM named 'web-01'
flint launch ubuntu-24.04 --name web-01
# SSH directly into your new VM
flint ssh web-01
# Create a template from your configured VM
flint snapshot create web-01 --tag baseline-setup
# Launch a clone from your new template
flint launch --from web-01 --name web-02While Flint is designed to be intuitive, the full CLI and API documentation, including all commands and examples, is available at:
➡️ DOCS.md
- Backend: Go 1.25+
- Web UI: Next.js + Tailwind + Bun
- KVM Integration: libvirt-go
- Binary Size: ~8.4MB (stripped)
🚀 Flint is young, fast-moving, and designed for builders.
Try it. Break it. Star it. Contribute.

