Skip to content

Vswaroop04/devcheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Devcheck

A CLI tool that answers one question: "Is my dev environment sane right now?"

devcheck demo

Why devcheck?

Run it when:

  • Something randomly breaks
  • Onboarding a new repo
  • Switching branches or machines
  • CI passes but local fails
  • "It worked yesterday"

Installation

From source (requires Rust)

git clone https://github.com/Vswaroop04/devcheck.git
cd devcheck
cargo install --path .

Download binary

Download the latest release from Releases.

Usage

cd your-project
devcheck

That's it.

What it checks

Runtime & Toolchain

Runtime checks

Compares what you think you're using vs what you actually are:

  • Node.js - Checks against .nvmrc, .node-version, or package.json engines
  • npm/pnpm/yarn - Detects installed package managers

Python

Python checks

  • Python version - Checks against .python-version, pyproject.toml, or setup.py
  • pip - Detects pip installation
  • Virtual environment - Detects venv/virtualenv/conda, warns if not activated
  • Requirements - Checks if packages from requirements.txt are installed

Docker

Docker checks

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?

Database & Services

Services checks

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)

Environment Variables

Environment checks

  • Compares .env against .env.example
  • Flags missing variables
  • Flags empty values
  • Never prints actual secrets

Port Conflicts

Port checks

Checks common dev ports: 3000, 3001, 4000, 5000, 5173, 8000, 8080, 8888

  • Shows which process is using the port
  • Shows the PID

PATH & Binary Resolution

PATH checks

Finds silent killers:

  • Multiple Node binaries
  • Multiple Python versions
  • Conflicting tool installations

Example Output

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

Contributing

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!

Supported Version Files

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

License

MIT

About

Is my dev environment sane right now ?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages