envi 把 .env 文件的管理搬到了终端里。不用在编辑器里手动比对不同环境的配置差异,可以在一个 TUI 界面里完成查看、编辑、验证和跨项目同步。

项目概览

属性内容
GitHubroniel-rhack/envi
Stars35
语言Rust
特点TUI 界面、.env 管理、跨项目 profile
最后更新1 个月前

解决了什么问题

在多环境部署时,.env 文件的管理容易混乱:

  • 开发、测试、生产环境的配置分散在不同文件里
  • 新增变量时需要手动同步到所有环境
  • 难以发现缺失或冗余的环境变量

envi 提供了一个集中式的终端界面来管理这些配置,支持按 profile 组织不同的环境,并能快速发现配置差异。

核心功能

Profile 管理

  • 将不同环境的配置分组管理(如 dev、staging、production)
  • 在同一界面切换和对比不同 profile

Diff 对比

  • 可视化展示两个 profile 之间的配置差异
  • 快速发现某个环境缺少哪些变量

扫描与验证

  • 扫描项目中的 .env 文件
  • 验证配置值的格式(如 URL、端口范围等)

安全编辑

  • 在 TUI 中直接编辑变量值
  • 避免误操作导致配置泄露

快速开始

# 安装
cargo install envi

# 进入管理界面
envi

# 扫描当前目录的 .env 文件
envi scan

# 对比两个 profile
envi diff dev production

对比类似工具

工具Stars特点
dotenv-cli1.2k命令行读取 .env,无管理功能
env-cmd800+按环境加载不同 .env 文件
envi35TUI 管理、diff、验证

适用场景

  • 微服务架构下管理多个服务的配置
  • 需要在多个环境间同步新变量的团队
  • 喜欢终端工作流的开发者

注意事项

  • 项目较新,部分功能仍在完善
  • 建议先在非生产环境测试
  • 敏感信息仍需配合密钥管理服务使用

总结

envi 填补了终端环境下 .env 文件管理的空白。虽然 Stars 不多,但对于需要频繁处理多环境配置的开发者来说,它的 diff 和 profile 功能确实能节省不少时间。

属性内容
仓库https://github.com/roniel-rhack/envi
许可证MIT
语言Rust
维护者@roniel-rhack