What is envcheck?
envcheck is a fast, lightweight CLI tool written in Rust that validates development environments against project requirements. It eliminates “works on my machine” problems by ensuring everyone on your team has the right tools, versions, and configurations before they start working.The Problem
How many times have you encountered these scenarios?- A new developer joins your team and spends hours installing dependencies
- Your CI pipeline fails because a developer’s local environment differs from production
- A critical bug only appears in certain environments due to version mismatches
- Team members forget to set required environment variables
The Solution
With envcheck, you define your environment requirements once in a.envcheck.yaml file, and everyone can validate their setup in seconds:
Key Features
Fast
Written in Rust, compiled to a single binary with zero runtime dependencies. Validation completes in milliseconds.
Simple
Just add a
.envcheck.yaml file to your project. No complex configuration or setup required.Comprehensive
Validates tools, versions, environment variables, ports, files, directories, and network connectivity.
Cross-platform
Works seamlessly on macOS, Linux, and Windows without any platform-specific tweaks.
What Can You Check?
Tools and Versions
Verify that required development tools are installed with proper version constraints using semver:node, npm, go, rust, cargo, python, docker, git, java, ruby, and more.
Environment Variables
Ensure critical environment variables are set and optionally match specific patterns:Ports
Check that required ports are available before starting services:Files and Directories
Validate file existence, permissions, and directory structure:Network Connectivity
Verify connectivity to critical services:Use Cases
Onboarding New Developers
Onboarding New Developers
New team members can quickly validate their setup matches the project requirements. Instead of a lengthy setup document, they run
envcheck and get immediate, actionable feedback.CI/CD Pipelines
CI/CD Pipelines
Add envcheck to your CI/CD pipeline to catch environment issues early. Export results to JSON with
--json flag for easy integration.Pre-commit Hooks
Pre-commit Hooks
Run envcheck in Git hooks to ensure developers have the correct environment before committing code.
Microservices
Microservices
Each service can have its own
.envcheck.yaml to validate service-specific requirements independently.Clean, Actionable Output
envcheck provides clear, colored terminal output with helpful suggestions when checks fail:- ✓ Green checkmarks for passing validations
- ✗ Red X marks for failures with actionable error messages
- Summary of total issues found
- Exit code 0 for success, non-zero for failures (perfect for scripts)
