Thanks for the interest. sandboxctl is small on purpose, so the bar is "does it make the tool simpler or more reliable for the next person on a fresh Mac".
./install.sh # rebuilds the Go CLI
sandboxctl restart # apply your changes against a real cluster
sandboxctl validate # smoke-test the URLs from the Macbash -n sandbox.sh is a quick syntax check.
- Bash with
set -euo pipefail. Keep functions small; prefer one responsibility per function. - Go for the CLI. Standard library only, no extra deps unless something is genuinely missing.
- Comments explain why, not what. If a comment is repeating the code, delete it.
- Keep the install pipeline idempotent.
uprunning twice in a row should do almost nothing the second time.
- One topic per PR. A bug fix and a refactor go in two separate PRs.
- Include the output of
sandboxctl validateafter your change so reviewers can see the URLs still answer. - If you add a new env override, document it in
README.mdandusage()insandbox.sh. - Keep commit messages plain — describe what changed and why, in normal English. No tooling attribution.
Open an issue with:
- macOS version, chip (Apple Silicon vs Intel)
sandboxctl statusoutput- The portion of
~/.sandboxctl/portfwd.logaround the failure if it's a reachability issue - Whether you're running
podmanordocker