dev-env-doctor is a small CLI that checks whether a developer machine is ready to work before a setup problem derails a coding session.
It is intentionally safe to run in public, shared, and automated environments:
- no secrets are printed
- no machine-specific files are uploaded
- warnings explain what to fix without changing your system by default
- JSON output is available for agents, scripts, and CI
The first release checks the basics that break local development most often:
- Git installation and identity
- GitHub SSH authentication
- GitHub CLI availability and authentication
- Python version and package tooling
- Node.js and npm
- Homebrew on macOS
- current Git repository cleanliness
- broken or duplicate
PATHentries
From a checkout:
python3 -m pip install .For one-off local runs without installing:
python3 -m dev_env_doctorRun every check:
dev-env-doctorRun selected checks:
dev-env-doctor check git python github-sshList available checks:
dev-env-doctor --listMachine-readable output:
dev-env-doctor --jsonMake warnings fail automation:
dev-env-doctor --strictAvoid network checks:
dev-env-doctor --no-networkdev-env-doctor
OK git git version 2.50.1
OK python Python 3.14.4
WARN github-cli gh is not installed
SKIP homebrew Homebrew check only runs on macOS
Summary: 2 ok, 1 warn, 0 fail, 1 skip
0: no failed checks1: at least one failed check, or a warning when--strictis used2: invalid CLI usage
This project is deliberately boring:
- standard-library runtime
- clear checks
- readable output
- easy tests
- no private assumptions
That makes it easy to extend. New checks live in src/dev_env_doctor/checks.py and return a CheckResult.
Run tests:
PYTHONPATH=src python3 -m unittest discover -s testsRun the CLI from source:
PYTHONPATH=src python3 -m dev_env_doctor --no-network