A CLI tool that answers one question: "Is my dev environment sane right now?"
Run it when:
- Something randomly breaks
- Onboarding a new repo
- Switching branches or machines
- CI passes but local fails
- "It worked yesterday"
git clone https://github.com/Vswaroop04/devcheck.git
cd devcheck
cargo install --path .Download the latest release from Releases.
cd your-project
devcheckThat's it.
Compares what you think you're using vs what you actually are:
- Node.js - Checks against
.nvmrc,.node-version, orpackage.jsonengines - npm/pnpm/yarn - Detects installed package managers
- Python version - Checks against
.python-version,pyproject.toml, orsetup.py - pip - Detects pip installation
- Virtual environment - Detects venv/virtualenv/conda, warns if not activated
- Requirements - Checks if packages from
requirements.txtare installed
Only runs if project has Dockerfile or docker-compose.yml:
- Daemon status - Is Docker running?
- Compose validation - Is your compose file valid?
- Services status - Are containers running?
Auto-detects needed services from config files and checks if they're running:
- PostgreSQL (port 5432)
- MySQL (port 3306)
- Redis (port 6379)
- MongoDB (port 27017)
- Elasticsearch (port 9200)
- RabbitMQ (port 5672)
- Compares
.envagainst.env.example - Flags missing variables
- Flags empty values
- Never prints actual secrets
Checks common dev ports: 3000, 3001, 4000, 5000, 5173, 8000, 8080, 8888
- Shows which process is using the port
- Shows the PID
Finds silent killers:
- Multiple Node binaries
- Multiple Python versions
- Conflicting tool installations
devcheck v0.1.0
Runtime & Toolchain
Node.js ✔ 20.11.0 (matches .nvmrc)
npm ✔ 10.2.3
pnpm ✔ 9.0.0
yarn not installed
Python
Python ✔ 3.12.0 (matches .python-version)
pip ✔ 24.0
virtualenv ⚠ found but not activated
run: source venv/bin/activate
Environment Variables
Status ✖ Missing .env (copy from .env.example)
Required 3 variables
Docker
daemon ✔ running
compose ✔ 2.24.0
services ⚠ 2/3 running
Database & Services
PostgreSQL ✔ running (port 5432)
Redis ✖ not running (port 6379)
Port Conflicts
3000 ✖ in use by node (PID 48321)
PATH & Binary Resolution
python3 ⚠ 2 binaries found
/opt/homebrew/bin/python3
/usr/bin/python3
Your support is much appreciated! There's a lot more we can add:
- More runtimes - Go, Rust, Ruby, Java, .NET
- More services - Kafka, MinIO, Nginx
- Git checks - Uncommitted changes, branch status
- CI/CD - GitHub Actions, GitLab CI validation
- Cloud CLIs - AWS, GCP, Azure credentials
- OS-specific - Xcode CLI tools, Android SDK, WSL
If you find this tool useful, consider:
- Giving it a star on GitHub
- Opening issues for bugs or feature requests
- Submitting PRs for new checks
All contributions welcome!
| File | Purpose |
|---|---|
.nvmrc |
Node version (nvm) |
.node-version |
Node version (nodenv, asdf) |
package.json |
engines.node field |
.python-version |
Python version (pyenv) |
pyproject.toml |
requires-python field |
setup.py |
python_requires field |
.env.example |
Expected environment variables |
.env.sample |
Alternative env template |
Dockerfile |
Triggers Docker checks |
docker-compose.yml |
Triggers Docker Compose checks |
MIT







