arven is a lightweight CLI that helps teams keep environment variable documentation accurate and up to date.
It scans your codebase, generates a structured .env.example, and installs a Git pre-commit hook that blocks commits whenever new environment variables are introduced without documentation.
-
Automatic Environment Variable Discovery — Scan your codebase and detect environment variables across multiple runtimes and frameworks.
-
Generate
.env.exampleFiles — Create organized and maintainable environment templates automatically. -
Pre-Commit Protection — Prevent commits when newly introduced variables are missing from
.env.example. -
CI-Friendly Validation — Verify documentation consistency in CI/CD pipelines.
-
Framework Agnostic — Works with Node.js, Vite, Next.js, Bun, Deno, and more.
-
Zero Workflow Changes — Integrates directly with Git and remains silent when everything is properly documented.
Install arven globally using npm:
npm install -g @lashen-martino/arvenAfter installation, the arven command will be available in your terminal.
Initialize arven in your project:
arven initThis command will:
- Install a Git pre-commit hook
- Scan your codebase for environment variables
- Generate a
.env.examplefile - Start protecting future commits automatically
Generate a new environment template from your codebase:
arven generateOverwrite an existing file:
arven generate --overwriteGenerate to a custom path:
arven generate -o .env.sampleValidate that .env.example is synchronized with the codebase:
arven checkThis command exits with a non-zero status code when missing variables are detected, making it ideal for CI pipelines.
Compare detected variables against the current .env.example without modifying files:
arven diffUninstall the Git hook:
arven uninstallarven integrates directly with Git through a pre-commit hook.
When a new environment variable is introduced but not documented, the commit is blocked until the variable is added to .env.example.
Example:
git commit -m "feat: add stripe integration"arven detected undocumented environment variables
✗ STRIPE_SECRET_KEY
Update your .env.example file and try again.
If everything is synchronized, commits proceed normally without additional prompts.
Add arven to your pipeline to enforce environment documentation across all contributors.
- name: Validate environment documentation
run: npx arven checkThis ensures undocumented variables cannot be merged into protected branches.
We welcome contributions and suggestions! If you have ideas or improvements, feel free to open an issue or submit a pull request. ✨
Please read Contribution Guide for detailed instructions on how to contribute.
Licensed under the MIT License. © 2026 Lashen Martino
