I built groundctl because every team I've been on has the same problem: "it works on my machine." Someone upgrades Node, someone has the wrong Terraform version, a new hire spends two days debugging a setup that differs from everyone else's.
Existing tools don't solve this. chezmoi manages dotfiles, not tool versions. mise/asdf manage language runtimes per-project, not team-wide standards. Ansible is overkill for local machines.
groundctl is a single Go binary that:
1. Scans your machine and creates a `.ground.yaml` standard 2. Compares any machine against that standard (`ground check`) 3. Auto-fixes drift with one command (`ground fix`)
It detects 18 tools (node, python, go, docker, terraform, etc.), works across macOS/Linux/Windows, integrates with 7 package managers, and runs in <500ms.
The team workflow: - Commit `.ground.yaml` to your repo - New hire runs `ground check` — sees exactly what's different - `ground fix` installs/upgrades everything automatically - CI enforces the standard with `ground check --ci`
It also has secret management (1Password, Vault, keychain backends), shell hooks that auto-check on `cd`, and HTML/Markdown drift reports.
Written in Go. MIT licensed. No dependencies. Single binary.
Would love feedback on the approach and what tools/features you'd want to see next.