envfix icon

envfix

envfix 是一款零依赖的 Node.js 命令行工具,用于检查 .env 文件与 .env.example 的一致性,修复缺失键,并生成或同步示例文件,适合本地开发和 CI 工作流。

envfix

概览

envfix 是一个小型 Node.js 命令行工具,用于检查和修复环境文件的漂移。它的主要任务是将 .env 与 .env.example 进行比较,识别缺失或格式不正确的配置,并在不泄露密钥的情况下帮助保持两个文件一致。

README 将其描述为零依赖且对 CI 友好。除了基本的检查与修复流程外,它还可以生成或同步示例文件、检查 .env 相关的 Git 安全性,并扫描项目目录中的多个环境文件配对。

核心能力

环境漂移检查

将本地 .env 文件与 .env.example 进行比较,找出缺失的变量和空值,并引导用户进行修复。

安全修复工作流

将缺失的键追加到 .env,而不会覆盖现有行或值;如果文件不存在则会创建该文件。

示例文件生成与同步

从 .env 生成 .env.example,或将新键同步到现有示例文件中,同时报告过期条目。

Doctor 模式

运行更全面的健康检查,涵盖文件存在性、语法、一致性和 Git 安全性,包括 .env 是否被忽略或被跟踪。

多环境覆盖

使用 --all 扫描目录中每一组 .env*.example ↔ env 配对,从而在一次运行中检查多个环境文件。

输出与工作流控制

使用 --dry-run、--json、--strict 以及 GitHub 注释控制等标志,以适配本地审查和 CI 工作流。

常见用例

  • 发现本地配置漂移

    在拉取仓库或合并更改后使用 envfix,找出已添加到 .env.example 但本地 .env 中缺失的环境变量。

  • 环境文件的 CI 校验

    在 CI 作业中运行 doctor 命令,在代码合并前检查文件存在性、语法、一致性,以及 .env 是否被 Git 跟踪或忽略。

  • 修复或重新生成环境文件

    在只想向 .env 添加缺失键时使用 fix;或者在为队友维护示例文件时使用 example / example --sync。

  • 审查多个环境配对

    在包含多个环境变体的项目中启用 --all,这样一条命令即可检查目录中的每个 .env*.example 配对。

  • 自动化报告

    当输出需要被自动化处理而不是人工阅读时,使用 --json 或 GitHub 注释标志。

Pros and Cons

Pros

  • 零依赖 CLI 设计让设置保持简单。
  • 可以检测缺失键、空值、重复项、格式错误的声明以及 Git 安全问题。
  • 支持默认不覆盖现有值的修复工作流。
  • 可以生成或同步 .env.example 文件,同时省略密钥值。
  • 提供对 CI 友好的选项,包括 JSON 输出、dry-run 模式和 GitHub 注释。

Cons

  • 源材料最强的是 README 示例;所提供页面中并未完整记录详细命令参考和边缘情况行为。
  • 它专注于 Node.js 项目和 .env 风格的工作流,因此并不是通用的配置管理器。

FAQ

envfix 可以在 CI 中使用吗?

是的。README 展示 envfix 作为一款 Node.js 命令行工具,可通过 npx 运行,包括在会自动启用注释的 GitHub Actions 中运行。

envfix 可以做什么?

envfix 可以比较 .env 与 .env.example,将缺失的键追加到 .env,运行更全面的 doctor 检查,从 .env 生成示例文件,或将新的键同步到示例文件中。

envfix 需要安装吗?

README 说明 envfix 是零依赖的,面向 Node.js 项目。它通过 npm 分发,并且可以使用 npx envfix 在本地不安装的情况下运行。

envfix 支持机器可读输出吗?

README 描述了 --json 选项,可输出单个 JSON 文档,以及会报告文件、语法、一致性和 Git 安全性的 doctor 模式。它还说明可以强制开启或关闭 GitHub 注释。

envfix 是付费产品吗?

源内容仅将 envfix 展示为一个公开的 GitHub 仓库,并未在此处提供的仓库内容之外说明付费层级或许可条款。

Quick Facts

类别
开发者工具
平台
Node.js 命令行工具
主要用途
检查并修复 .env 与 .env.example 的漂移
分发方式
使用 npx 运行;仓库包含 package.json
仓库
github.com/gokhanozgezer/envfix
价格信号
开源仓库,所提供来源中未描述付费方案