env-manager

Solid

环境变量管理器:扫描、校验、同步 .env 文件,生成安全配置模板

AI & Automation 686 stars 69 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 90/100

Stars 20%
94
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 环境变量管理器 ## 触发��件 当用户要求管理环境变量、.env 文件、配置同步、Secrets 检查时激活。 ## 工作流程 ### 1. 扫描项目 - 检测所有 `.env*` 文件(.env / .env.local / .env.development / .env.production) - 默认只提取变量名、来源文件和是否为空;真实值必须脱敏,不写入报告或终端输出 - 扫描代码中引用的环境变量(`process.env.XXX` / `os.environ['XXX']` / `os.getenv('XXX')`) - 识别静态扫描中未发现引用的变量(仅作为待人工确认候选) - 识别已使用但未定义的变量(缺失配置) ### 2. 校验分析 - 检查必填变量是否有默认值 - 验证 URL 格式、端口号范围、布尔值格式 - 检测硬编码的敏感信息(API Key / Token / Password) - 对比 .env.example 与实际 .env 文件的差异 ### 3. 生成/修复 - 生成 `.env.example` 模板(仅包含变量名和说明,不含真实值) - 生成 `.env.schema.json`(结构化校验规则) - 检测到硬编码密钥时,建议迁移到环境变量 - 生成 `dotenv` 加载配置(针对不同框架) ### 4. 同步 - 在 monorepo 中同步共享环境变量 - 生成 Docker Compose 的 env_file 配置 - 生成 CI/CD 的 Secrets 配置清单 ## 输出格式 ### .env.example 示例 ```bash # 应用配置 APP_NAME=my-app APP_ENV=development # development | staging | production APP_PORT=3000 # 服务端口 (1-65535) APP_DEBUG=true # 调试模式 # 数据库 DB_HOST=localhost DB_PORT=5432 DB_NAME=mydb DB_USER= # 必填 DB_PASSWORD= # 必填,生产环境请使用 Secrets # 第三方服务 REDIS_URL= # 必填,格式:redis://host:port JWT_SECRET= # 必填,至少 32 位随机字符串 ``` ### 校验报告示例 ``` 📋 环境变量分析报告 ================== ✅ 定义且使用: 12 个 ⚠️ 定义未使用: 2 个(S3_BUCKET, OLD_API_KEY) ❌ 使用未定义: 1 个(SENDGRID_API_KEY) 🔒 硬编码敏感信息: 1 处(src/auth.js:23) 建议: 1. 人工确认 S3_BUCKET 和 OLD_API_KEY 是否被 CI、部署脚本或动态代码引用,再决定是否删除 2. 在 .env 中添加 SENDGRID_API_KEY 3. 将 src/auth.js:23 的硬编码 token 迁移到环境变量 ``` ## 安全检查清单 - [ ] 扫描和报告只展示变量名及脱敏状态,不回显真实 Secret - [ ] `.env` ...

Details

Author
laolaoshiren
Repository
laolaoshiren/claude-code-skills-zh
Created
3 months ago
Last Updated
2 days ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category