parity-ci
v1.0.3
Published
A robust CLI tool to ensure environment consistency and health across your software projects.
Maintainers
Readme

🚀 Parity CLI
Stop "It works on my machine" — Enforce environment consistency across your team and CI
🎯 What is Parity?
Parity is a zero-config developer experience tool that ensures every engineer on your team—and your CI pipeline—runs the exact same environment configuration. It prevents:
- ❌ Runtime version mismatches
- ❌ Missing
.envvariables - ❌ Package manager conflicts
⚡ Quick Start
1. Install
npm install -D parity-ci2. Initialize
Generate a .env.lock file based on your current machine:
npx parity init3. Run It
Option A: Check manually
npx parity checkOption B: Protect your start command (Recommended) Wrap your start script so checks run automatically before your app starts.
npx parity start npm run dev🛠️ Configuration (How to write .env.lock)
The .env.lock file allows you to define strict rules for your project.
[!IMPORTANT] > Syntax Warning: Use YAML syntax (
key: value), NOT.envsyntax (KEY=VALUE).
Example Configuration
# 1. Runtime Enforcement
runtime:
name: node
version: ">=18.0.0"
manager: npm # Optional: Enforce specific manager
# 2. OS Restrictions (Optional)
os: ["darwin", "linux"]
# 3. Environment Files
envFiles:
- .env
- .env.local
# 4. Environment Variables
env:
DATABASE_URL: required
API_KEY: required
DEBUG: optionalConfiguration Types & Allowed Values
| Option | Type | Allowed Values / Description |
| :---------------- | :--------------------- | :--------------------------------------------------------- |
| runtime.name | string | node, bun (More coming soon) |
| runtime.version | string | SemVer range (e.g. >=18.0.0, ^20) or Exact (20.11.0) |
| os | string | string[] | windows, linux, macos |
| packageManager | string | npm, pnpm, yarn, bun |
| envFiles | string[] | List of file paths (e.g. ['.env', '.env.local']) |
| env | object | Key-value pairs where value is required or optional |
[!NOTE] > Current Limitations: Parity currently supports Node.js and Bun runtimes. Support for Deno, Python, and Go is planned for future updates.
⚡ Features

npx parity fix[!TIP] > Special Characters: Parity automatically quotes your input to safely handle characters like
#or spaces. Enter only the value (do not add your own quotes or inline comments).
custom:
- name: "Docker Check"
command: "docker info"
error: "Docker is not running!"

🤖 CI/CD Integration
Use the --ci flag to treat warnings as errors.
# GitHub Actions Example
- name: Run Parity checks
run: npx parity check --ci🤝 Contributing & Support
Found a bug? Open an issue.
