DevReady
OfficialChecks Docker CLI availability and daemon reachability when the project contains Dockerfile or compose files.
Compares .env.example and .env key names to verify that required environment variables are documented and present.
Checks Git installation and whether Git user identity (user.name and user.email) is configured.
Checks Node.js installation and whether its version satisfies project requirements such as package.json engines and .nvmrc/.node-version pins.
Checks npm installation and version.
Checks Python installation and whether its version satisfies project requirements such as .python-version and pyproject.toml requires-python.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
🩺 DevReady
"Works on my machine" - finally answered before it wastes your afternoon.
A zero-dependency, read-only CLI that checks whether your machine actually meets a project's declared requirements, and tells you exactly what to fix. Built for humans, CI, and AI coding agents (Claude Code, Codex, any MCP client).
One command, every requirement checked, exact fixes shown.
What is DevReady?
DevReady is a command-line tool that tells you whether your computer is set up to work on a project. Run devready check inside a project folder and it:
Reads the versions the project says it needs (
.nvmrc,.python-version,package.jsonengines,pyproject.tomlrequires-python).Compares them with what is actually installed on your machine (Python, Node.js, npm, Git, and so on).
Reports PASS, WARN or FAIL for each item, with what to fix. The exit code is
1if a requirement is unmet, so it also works in CI.
It only looks. It never installs, changes or deletes anything, makes no network calls and sends no telemetry. Fixing the problem (for example switching Node versions) is up to you.
Related MCP server: DevTwin MCP
The problem
You clone a repo. npm install explodes. The README says "Node 20", your machine has 16, and the error message says nothing useful. Multiply by every new hire, student, CI runner and AI agent that burns tokens guessing why a build failed.
The fix
$ devready check
DevReady - Environment Check
[PASS ] Python 3.15.0 found
[PASS ] Git 2.52.0 found
[PASS ] Node.js 23.5.0 found
[PASS ] npm 11.14.1 found
[FAIL ] Node engines 23.5.0 does not satisfy package.json engines (>=99)
[WARN ] Python pin 3.15.0 does not satisfy .python-version (3.99)
4 passed, 1 warning, 1 failed
No changes were made to your system.Output above is from a real run (pins deliberately set to impossible values to show failures). Exit code
1when a requirement is unmet, so it drops straight into CI.
Why DevReady
🎯 Project-aware | Reads what your project declares ( |
🔒 Read-only by design | Never installs, edits or deletes. Never prints env values. No network. No telemetry. |
🤖 Agent-ready | Stable, versioned JSON schema, a Claude Code plugin, an MCP server and |
🛡️ Prompt-injection safe | Output contains only parsed versions and fixed text, never raw file or command output, so a hostile |
📦 Zero dependencies | Pure Python standard library. Installs in a second, runs anywhere Python 3.10+ does. |
⚙️ CI-friendly | Documented exit codes, JSON output, tested on Linux, macOS and Windows in CI. |
Who it's for
🧑🎓 Students & bootcamp learners: plain-language results instead of cryptic stack traces.
🧑💻 Developers switching projects: one command tells you what's off before you lose an hour.
👩🏫 Maintainers & educators: put
devready checkin your README's setup steps and cut "it doesn't work" issues.🏗️ CI & platform teams: fail fast with a clear preflight step.
🤖 AI-agent users: give Claude Code / Codex a ground-truth environment check.
Install
Install from PyPI:
pipx install devready-cli
# or run without installing:
uvx devready-cli checkFrom npm (runs the same PyPI release through uvx or pipx, so one of them must be installed):
npx devready-cli checkFrom a clone (for development):
git clone https://github.com/Evalogical-Inc/devReady && cd devReady
python -m venv .venv
# Windows: .venv\Scripts\Activate.ps1 macOS/Linux: source .venv/bin/activate
python -m pip install -e ".[dev]"Usage
devready check # human-readable report for the current directory
devready check --quiet # only non-pass results (text format)
devready check --project ../app # inspect another project's pins
devready check --format json # machine-readable (see docs/schema.json)
devready explain docker.daemon # what a check means and how to fix it
devready check --format junit # or sarif, for CI
devready check --only project --skip project.ports # filter by id or prefix
devready fix --plan # suggested steps only; never runs them
devready check --format json > baseline.json # save a snapshot (commit it for a team baseline)
devready check --baseline baseline.json # show only what changed; fail only on new/worse failures
devready init > .devready.json # optional config: skip ids, require node/python, required env names
devready mcp # run as an MCP server over stdio
devready --versionExit code | Meaning |
| No blocking failures |
| A project requirement is not met |
| Invalid usage (e.g. bad |
| Internal error |
Status | Meaning |
| Requirement met |
| Tool missing, or a soft pin ( |
| A hard requirement ( |
| Not evaluated (tool absent, or requirement syntax not understood) |
| DevReady couldn't run the check |
JSON output
{
"schema_version": 1,
"results": [
{
"check_id": "project.node.engines",
"title": "Node engines",
"status": "fail",
"summary": "23.5.0 does not satisfy package.json engines (>=99)",
"suggestion": "Switch versions with your version manager (nvm, pyenv, mise, ...) or update the requirement.",
"docs_url": ""
}
]
}Use it in CI (GitHub Actions)
- uses: Evalogical-Inc/devReady@main # pin a release tag once published
with:
skip: project.ports # optional; also: only, format, project, versionTo show findings in GitHub code scanning, save a SARIF report and upload it. Pin findings point at the file that declares the pin (package.json, .nvmrc, go.mod, ...); tool-only findings have no file.
- uses: Evalogical-Inc/devReady@main
with:
format: sarif
output: devready.sarif
continue-on-error: true # still upload when a requirement is unmet
- uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: devready.sarifThe job fails when a declared requirement is unmet (fail). It installs devready-cli from PyPI, so flags added after your installed release (--only, --skip, junit/sarif) need a release that includes them; set version: to pin one.
Add the badge
Tell contributors your project declares its requirements and can be checked with one command. Paste this into your README:
[](https://github.com/Evalogical-Inc/devReady)Use it with AI coding agents
DevReady ships the same engine three ways, so your agent can verify the environment before it installs, builds or tests.
Claude Code - plugin with a skill, a /devready:doctor command and an MCP server (the MCP server needs uv; the rest works without it once devready-cli is installed):
/plugin marketplace add Evalogical-Inc/devReady
/plugin install devready --marketplace Evalogical-Inc/devReadyAny MCP client (Codex, Cursor, ...) - one read-only tool, check_environment. Also listed in the MCP Registry as io.github.Evalogical-Inc/devready:
# ~/.codex/config.toml (verify keys against your Codex version)
[mcp_servers.devready]
command = "uvx"
args = ["--from", "devready-cli", "devready", "mcp"]Anything else - drop AGENTS.md in your repo, or copy skills/devready. Details in docs/agents.md.
Safety & privacy
Fixed command lists with timeouts; no shell, no user-built commands.
Project files are read only if regular files ≤ 1 MB (symlinks skipped) and are never executed.
Environment variable values are never read into output. Nothing leaves your machine.
A passing report does not guarantee your project builds.
See docs/security.md for the model, docs/versioning.md for what stays stable, docs/checks.md for every check, and SECURITY.md to report a vulnerability.
Limitations
Checks today: Python, Git (+ identity set), Node.js, npm, project pins (
.nvmrc,.node-version,.python-version,.tool-versions,package.jsonengines,pyproject.tomlrequires-python),.env.examplevs.envkey names, Docker CLI + daemon, compose file validity and image platform (arm64 vs amd64) mismatch (only when the project has a Dockerfile/compose file), free disk space, Windows long paths, PowerShell policy, line endings, WSL version and Docker Desktop engine, macOS/Linux build tools, and (only when the project declares them) Go, Ruby, Java, Rust, .NET, pnpm, Yarn and Bun pins,.envnot git-ignored,node_modulesvs lockfile, and declared ports already in use.The version-range matcher covers common npm/PEP 440 syntax; pre-releases and exotic ranges report
skiprather than guess.The Python version compared is the interpreter running DevReady, not necessarily your project's virtualenv.
Roadmap
Docker CLI + daemon reachability,
.tool-versions,.envkey-name diff, disk space, git identity,devready explainPort-in-use checks, more ecosystems (Go, Rust, Java, Ruby, .NET, pnpm/yarn/bun), JUnit/SARIF output,
fix --plan, GitHub Action.devready.jsonconfig,--baselinesnapshotsPlatform-specific checks (Windows, macOS/Linux build tools, WSL)
Docker compose validity, image platform, Docker Desktop engine
Exact version-switch commands in suggestions (first:
fnm)Monorepo
--recursive, org--policyfile, VS Code extension (see ROADMAP.md)Standalone binaries
Have a setup problem DevReady should catch? Open an issue. Early feedback shapes the roadmap.
Contributing
PRs welcome, especially new read-only checks and platform fixes. Start with CONTRIBUTING.md and the technical plan; background research is in docs/research.md. Please follow the Code of Conduct.
ruff check . && ruff format --check . && pytestAbout Evalogical
DevReady is built and maintained by Evalogical, a software company offering AI-enabled product engineering, custom software and IT services. Need help with a product or an engineering team? Talk to us.
License
MIT © Evalogical Inc
If DevReady saved you an afternoon, a ⭐ helps others find it.
This server cannot be deployed
Maintenance
Related MCP Connectors
Check AI work against requirements and return structured verdicts, findings, and repair steps.
Scan AI agent skills, MCP server packages and MCP configs before you install them. Static analysis.
Free, read-only ship-readiness check for Replit, Lovable and Bolt apps.
Read-only MCP tools that check if a store and product feed are ready for AI shopping.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAn MCP (Model Context Protocol) server that inspects your local development environment and reports missing dependencies, version mismatches, and misconfigured environment variables to any MCP-compatible AI assistant. Works with Claude Desktop, Cursor, Gemini CLI, and any other client that supports stdio-transport MCP servers.-
- AlicenseAqualityBmaintenanceProvides AI coding agents with structured, evidence-based diagnostics about the local development environment, detecting tech stack, runtime mismatches, dependency state, services, ports, and Git status without exposing secrets or using network calls.10Apache 2.0
- AlicenseAqualityBmaintenanceEnables MCP-compatible AI assistants to inspect projects, processes, ports, logs, HTTP endpoints, Git state, and development databases for local runtime diagnostics.7MIT
- AlicenseNot gradedqualityCmaintenanceEnables any MCP client to detect Claude Code configuration that is silently ignored, such as agent files that fail to load, unknown frontmatter fields, parent-folder settings, conflicting MCP server entries and drift since a baseline. Exposes read-only tools that return findings with exact edits, the fix prompt, and explanations of each check, without modifying any files.Apache 2.0