用途
env-manager 是一个环境变量管理技能,用于对现代 Web 应用的环境变量进行系统化校验、安全扫描和管理。它旨在解决本地开发、CI/CD 流水线与部署平台之间常见的环境变量问题,例如变量缺失、密钥意外暴露、框架特定配置错误等。
主要能力
- 框架感知校验:支持 Next.js、Vite、React(Create React App)、Node.js/Express 和 Flask/Python,能针对不同框架的变量前缀与约定进行检查。
- 安全优先:不会在输出中记录或显示密钥的实际值;能检测客户端暴露变量(如 NEXT_PUBLIC_、VITE_、REACT_APP_)中是否包含疑似密钥,并发出警告。
- 结构校验:检查 .env 文件是否为合法的 key=value 格式、是否存在重复键、变量命名是否符合 UPPERCASE_WITH_UNDERSCORES 约定、是否存在空值(除非明确允许)、含空格的值是否正确引用。
- 对比与文档生成:可与 .env.example 对比,找出缺失或多余的变量;也可根据 .env 生成脱敏后的 .env.example,将密钥替换为安全占位符。
- CI/CD 集成:支持 JSON 输出与严格模式(将警告视为错误),并提供明确的退出码,便于在自动化流程中作为质量门禁。
- 性能:纯 Python 实现,无外部依赖,据资料称校验 1000 个变量耗时 0.025 秒。
使用方式
该技能为 Claude MPM 内置技能,无需安装,要求 Python 3.7+,无外部依赖。基本命令结构为:
python3 scripts/validate_env.py <file> [options]
常用选项包括:
--compare-with FILE:与 .env.example 对比--framework {nextjs|vite|react|nodejs|flask|generic}:框架特定校验--strict:将警告视为错误--json:输出 JSON 格式,便于自动化--quiet:仅显示错误--generate-example OUTPUT:生成 .env.example
退出码:0 表示成功;1 表示存在校验错误;2 表示文件未找到;3 表示严格模式下存在警告。
适用场景
- 新成员加入项目时,验证本地环境变量配置是否完整。
- 部署前检查(如 Vercel、Railway、Heroku)环境变量是否满足要求。
- 安全审计,检查是否有密钥被意外放入客户端暴露变量。
- 团队文档维护,自动生成或更新 .env.example。
- CI/CD 质量门禁,在流水线中自动校验环境变量配置。
限制
- 资料未提供图形界面或除命令行以外的使用方式。
- 平台同步功能(Vercel、Railway、Heroku 集成模式)在资料中标注为“coming soon”,暂未提供。
- 资料未说明对除上述框架之外的其他语言或框架的支持情况。
- 资料未提供具体的收费、价格或商业授权信息。
- 资料未提供除 MIT 许可证和 Claude MPM 项目归属之外的分发或部署细节。