rackmind-cli
v0.4.0
Published
CLI interface for RackMind — Claude Code-style terminal experience for managing Proxmox servers, LXC containers, and QEMU VMs from your terminal.
Maintainers
Readme
rackmind-cli
rackmind.ai — AI-powered infrastructure management from your terminal.
A Claude Code-style REPL for managing Proxmox hosts, LXC containers, and QEMU VMs through natural language. Built for MSPs, power users, and homelab operators who live in the terminal and want their infra to answer back.
New contributor? Skip to ONBOARDING.md. It is the only doc you need to start hacking on this package.
Install
npm install -g rackmind-cliRequires Node.js 20+ (CI runs on 22).
30-second quick start
# 1. Connect to your Proxmox host (prompts for URL + API token, stored encrypted)
rackmind connect homelab
# 2. Add your Anthropic API key (or run `rackmind login` for managed AI)
rackmind config set-api-key
# 3. Drop into the REPL
rackmind
# 4. Or one-shot it — pipeable, scriptable
rackmind "which LXC containers are using >80% disk?"That is the whole loop. Everything else below is reference.
Modes
Interactive REPL — rackmind
Natural-language conversation about your infra. Streaming responses, tool execution with confirmation prompts on destructive actions, command history, slash commands (/help, /clear, /refresh, /status, /servers, /model, /exit).
Anytime the model asks to start/stop/restart a container or VM, the REPL pauses and shows a yellow [y/N] dialog with the action, tool name, and arguments. Press y to proceed, n/Esc/Enter to cancel. Enter defaults to no — destructive actions require an explicit yes. Pass -y / --yes at launch to auto-approve every destructive action for the session (use only in trusted scripts).
One-shot — rackmind "<question>"
Single question, streamed to stdout, exits cleanly. Designed for pipelines:
rackmind "list running containers" --json | jq '.response'
rackmind "what is the host uptime?" --quietSubcommands
rackmind connect <alias> # Add or switch to a server profile
rackmind servers list|add|remove|switch
rackmind status # Config + connection summary
rackmind containers | rackmind vms # List guests
rackmind start|stop|restart <vmid> # Lifecycle (confirmation by default; --force to skip)
rackmind exec "<cmd>" [--target=<vmid>]
rackmind logs <vmid> [-n N] [-f]
rackmind report # Full health report
rackmind config [set|reset|set-api-key|path]
rackmind login | logout | account # RackMind account auth + billingRun rackmind --help or rackmind <cmd> --help for the full surface.
Global flags
| Flag | Description |
| ------------------- | ------------------------------------------------------------------------------------------ |
| --json | JSON output to stdout (implies --quiet) |
| --quiet | Suppress spinners, banners, decoration |
| --no-color | Disable color (also respects NO_COLOR) |
| --server <alias> | Use a specific server profile for this invocation (overrides the active one) |
| -y, --yes | Auto-confirm every destructive prompt (AI tool calls, dangerous shell, stop / restart) |
| -i, --interactive | Force the REPL (default when no prompt is given on a TTY) |
Output streams
rackmind follows the POSIX convention:
- stdout — user-facing data: tables, reports, JSON, AI responses
- stderr — diagnostics: spinners, progress, banners, prompts, errors
So rackmind status > status.txt writes a complete report to the file, and rackmind containers --json | jq works as expected.
Configuration
Config lives at ~/.config/rackmind/config.json (XDG-compliant). Credentials are encrypted with AES-256-GCM using a machine-derived key — they are never written in plaintext. Writes are atomic (temp file + rename) to prevent corruption.
A handful of env vars tune the CLI for development and CI — see .env.example on GitHub for the full list. The file isn't shipped to the npm tarball.
Plans
| Feature | Free | Pro ($15/mo) | | -------------------------- | ------ | ------------ | | Server connections | 1 | Unlimited | | Managed AI interactions/mo | 25 | 200 | | Bring Your Own Key (BYOK) | — | Unlimited | | Solution memory | — | Included | | Historical metrics | 1 hour | Unlimited | | Terminal AI | — | Included |
Subscription management lives at https://rackmind.ai/account.
Development
git clone https://github.com/rackmind-ai/rackmind-cli.git
cd rackmind-cli
npm install
npm run dev # tsx src/index.ts
npm run build # tsc to dist/
npm link # expose `rackmind` globally for local testing
npm run check # lint + format-check + type-check + tests (must pass)Detailed contributor setup, architecture overview, and the commit gate are in ONBOARDING.md. Architecture and CLI-specific guardrails are in CLAUDE.md. Org-wide engineering standards are at https://github.com/rackmind-ai/.github/blob/main/STANDARDS.md.
License
Business Source License 1.1 — source-available, not Open Source.
You may use rackmind-cli for any purpose, including production use, with one limitation: you may not offer it to third parties as a hosted, managed, or commercial service that competes with RackMind's offerings (rackmind.ai subscriptions). Personal use, internal company use, and Bring-Your-Own-Key (BYOK) usage with your own AI provider credentials are explicitly permitted without restriction.
Each released version converts to Apache License 2.0 four years after its public release date. For alternative licensing arrangements, contact [email protected].
Earlier versions (0.2.x and below) remain MIT-licensed.
