生成多环境配置清单和dotenv模板文件,确保dev/test/staging/prod环境配置完整。当需要创建环境配置、生成.env.example模板、文档化测试框架setup、映射CI环境变量时使用。解决dotenv经常被忽视的痛点。
Scope: EXECSPEC_COMPILE — Compile ExecSpec(编译 ExecSpec)
版本: 1.0.0 | 创建日期: 2025-02-03
Environment Config Generator 生成完整的环境配置清单和dotenv模板,解决"dotenv经常被忽视"的用户痛点。
核心职责:
Why:
execspec_compile/)范畴,而非implementation_planning的"测试什么"对应 Build_Exec_Spec_Plans: Step 3 (环境配置)
spec/build/scaffold_analysis_report.md - 脚手架分析报告(包含环境变量扫描结果)spec/build/environment_config_checklist.md - 环境配置清单(含4个环境:dev/test/staging/prod).env.example - dotenv模板文件(位于项目根目录)输出包含:
Read `spec/build/scaffold_analysis_report.md`
Extract environment variables list with file locations
Extract project type (Node.js/Python/Go)
Extract test framework
For each variable in the list:
- Generate dev value (local/mock)
- Generate test value (mock/test-specific)
- Generate staging value (placeholder)
- Generate prod value (placeholder with security note)
Create `.env.example` file at project root
Format: KEY=<description-or-placeholder>
Group by category:
# Database
DATABASE_URL=<database-connection-string>
# External Services
API_KEY=<api-key>
# Application
PORT=3000
Write `spec/build/environment_config_checklist.md`
Structure by environment (dev/test/staging/prod)
Include checkboxes for validation
Based on test framework (Jest/Pytest/RSpec):
- Generate setup script template
- Document environment variable loading
- Add to environment_config_checklist.md
Generate CI configuration snippet:
GitHub Actions: .github/workflows/ci.yml env section
GitLab CI: .gitlab-ci.yml variables section
Add to environment_config_checklist.md
开发者需要先执行scaffold-analysis SKILL,生成spec/build/scaffold_analysis_report.md。
通过WORKFLOW或手动触发:
///environment-config-generator
查看输出文件:
spec/build/environment_config_checklist.md - 环境配置清单.env.example - dotenv模板开发者需要手动补全:
预计耗时: 5-10分钟(取决于环境变量数量)
scaffold_analysis_report.md 必须包含环境变量依赖章节(至少3个变量)、项目类型和测试框架识别结果
environment_config_checklist.md: 分4个环境(dev/test/staging/prod),每个变量一行checkbox格式
.env.example: 按类别分组(Database/External Services/Application),使用占位符或描述性注释
不支持:
最大输入规模:
依赖: