stage-infra
Skill2 starsChanged 5 months agoMITView on GitHub
环境搭建与基础设施——开发环境、仓库、基础CI。阶段子工作流,可独立使用。
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- code-reviewSkill
- design-reviewSkill
- main-workflowSkill
- okrSkill
- pr-faqSkill
- release-checklistSkill
- release-reviewSkill
- requirement-clarificationSkill
- requirement-reviewSkill
- retro-meetingSkill
- retro-reviewSkill
- six-pagerSkill
- software-project-governanceSkill
- stage-architectureSkill
- stage-cicdSkill
- stage-developmentSkill
- stage-initiationSkill
- stage-maintenanceSkill
- stage-operationsSkill
- stage-releaseSkill
- stage-researchSkill
- stage-selectionSkill
- stage-testingSkill
- tech-reviewSkill
- test-reviewSkill
The file
Files
环境搭建与基础设施 — 子工作流
本文件定义"环境搭建与基础设施"阶段的独立子工作流。用户可单独加载本文件执行环境搭建阶段。
阶段目标
建立可复现的开发环境和基础设施。环境搭建阶段的核心产出是"环境可用"——新加入的成员可以在合理时间内完成环境配置并开始开发。
AI 编程场景特有风险
在 AI 辅助编程项目中,环境搭建阶段存在以下特有风险:
| 风险 | 说明 | 缓解方向 |
| AI 过度配置 | AI 倾向为小项目搭建"生产级"基础设施(Kubernetes 集群、微服务网关、全套监控栈),引入与项目规模不匹配的复杂度 | 环境配置必须对应项目 profile 的规模要求;每项基础设施必须有"当前需要"的理由 |
| 环境不可复现 | AI 生成的配置在 AI 的"脑中"可以运行(因为 AI 假设了某些系统状态),但在真实机器上无法复现——缺少依赖、版本不对、路径硬编码 | 环境配置必须在干净机器上测试一次(或通过 CI 验证);不接受"理论上可以" |
| 安全默认值宽松 | AI 可能生成含默认密码、开放端口、宽松 CORS、调试模式开启的配置,这些在开发环境看似方便但可能泄漏到生产 | 强制安全检查:默认密码、开放端口、DEBUG 模式、CORS 配置;敏感配置必须使用环境变量 |
| 工具链版本未锁定 | AI 可能使用"最新版本"而不锁定具体版本号,导致不同时间的环境配置结果不同 | 所有依赖必须锁定到具体版本(package-lock/pipfile/.tool-versions);CI 检查版本一致性 |
| 文档与实现不同步 | AI 可能在配置完成后单独写一份"安装文档",但文档步骤与实际可工作的配置不一致(文档说装 A 但实际需要 B) | 环境配置文档必须由实际运行成功的命令生成,而非单独编写;CI 验证文档步骤可执行 |
独立使用时的目标锚定
当本子工作流被独立加载(非通过
main-workflow.md总入口加载)时,MUST 在执行阶段活动前完成以下自包含检查。本段不依赖任何其他文件。
锚定步骤(每步有具体文件路径和检查目标):
- 目标确认:读取
.governance/plan-tracker.md→ 找到## 项目配置节 → 确认项目目标和技术栈约束。如果 plan-tracker 中无明确目标 → MUST 通过 AskUserQuestion 工具询问用户(M5.1 禁止内联文字问题),选项示例:(1) "输入项目目标和技术栈" (2) "跳过目标锚定——我知道风险" (3) "初始化 governance 后再继续" - 偏离检查:对照成功标准,确认环境搭建范围与项目总目标一致(如:小工具不需要 K8s 集群)。偏离 → MUST 先记录到
.governance/decision-log.md - 质量底线:环境配置 MUST 可复现(在干净机器上可重放)+ 可通过 CI 验证(参考 profile 质量要求)
降级行为(.governance/ 缺失时):
.governance/plan-tracker.md不存在 → 内联告知用户(单向通知,非提问——不触发 M5.1 禁令):"当前项目未初始化 governance。独立使用模式下目标锚定不可用——无法确认环境搭建是否与项目目标匹配。建议运行 governance-init 初始化治理。"- 降级不阻塞执行——独立使用模式下可直接开始环境搭建,但 agent MUST 在开始前内联告知用户锚定缺失的风险(单向通知——非交互式提问)
- 如果后续初始化了 governance,锚定检查在下一会话自动恢复
进入条件
- 技术选型已完成(G3 通过)
- 有明确的技术栈决策
活动清单
1. 仓库初始化
| 活动 | 描述 | 交互边界 | 企业实践 |
| 创建仓库结构 | 按项目约定建立目录结构,每个目录有明确职责说明 | 自动执行 | [Google] 仓库结构反映架构设计——目录即模块边界 |
| 初始化版本控制 | git init + .gitignore(含 OS/IDE/依赖/密钥/环境变量)+ 初始提交 | 自动执行 | [Google] .gitignore 覆盖 OS、IDE、构建产物、密钥、环境变量 |
| 配置分支策略 | main/develop/feature 或 trunk-based development | 需用户确认:分支策略 | [Google] Trunk-Based Development——主分支始终可发布 |
| 配置提交规范 | commit message 格式(如 conventional commits)、pre-commit hooks | 自动执行 | [Google] Conventional Commits + 自动化 commit lint |
2. 开发环境配置
| 活动 | 描述 | 交互边界 | 企业实践 |
| 编写环境配置文档 | 依赖安装、环境变量、本地配置步骤 | 自动执行 | [Amazon] 文档必须由实际运行的命令生成——"能跑出来的才写进去" |
| 提供环境复现手段 | Dockerfile / docker-compose / devcontainer / 一键脚本 | 自动执行 | [Google] 新成员应在 30 分钟内从零完成环境配置 |
| 锁定依赖版本 | 生成 lockfile(package-lock/pipfile/.tool-versions),锁定到具体版本 | 自动执行 | [ByteDance] 所有环境必须产生一致结果——版本锁定是可复现的前提 |
| 配置编辑器/IDE 规范 | 格式化、lint、推荐插件 → .editorconfig + .vscode/extensions.json | 自动执行 | [Google] 编辑器配置提交到仓库——团队共享同一套标准 |
| 环境可用性验证 | 在干净环境(CI 或 Docker)中执行一遍完整安装流程 | 需 CI 环境执行 | [Google SRE] 不在"我的机器上能跑"——CI 环境是唯一可信的环境验证 |
3. 基础 CI 配置
| 活动 | 描述 | 交互边界 | 企业实践 |
| 配置 CI 流水线 | 自动构建 + 基础检查(lint/format/security scan) | 自动执行 | [Google] CI 必须在每次 push 自动触发 |
| 配置 lint/format | 代码风格自动检查,阻塞不合规的提交 | 自动执行 | [Google] lint 规则在仓库中版本控制,CI 中强制执行 |
| 验证 CI 可运行 | 推送后确认 CI 通过 | 需 CI 环境执行 | [ByteDance] 不接受"配置好了但没跑过"——CI 必须至少成功运行一次 |
| 配置安全检查 | 密钥扫描、依赖漏洞检查 | 自动执行 | [Google] 安全扫描集成到 CI,不依赖人工发现 |
4. 协作规范建立
| 活动 | 描述 | 交互边界 | 企业实践 |
| 编写贡献指南 | 提交规范、PR 流程、Review 规则、CLA/DCO 要求 | 自动执行 | [Google] CONTRIBUTING.md 是开源项目的标准入口 |
| 配置提交检查 | pre-commit hooks:格式、lint、密钥检测、测试 | 自动执行 | [Google] pre-commit 在本地拦截问题,不等到 CI 才发现 |
| 配置 PR 模板 | PR 描述模板:做了什么、为什么、怎么验证、风险 | 自动执行 | [Amazon] PR 模板强制"为什么"部分——不只描述改了啥 |
| 用户确认环境可用 | 新成员能否在合理时间内成功配置环境 | 需用户确认 | [Amazon] 从"新成员视角"验证——不是从搭建者的视角 |
产出物标准
| 产出物 | 格式要求 | 质量标准 | 企业实践来源 |
| 仓库结构 | 目录结构与约定一致 | 验证脚本通过;每个目录有职责说明 | [Google] |
| 环境配置文档 | 包含完整安装步骤 + 依赖版本锁定 | 在干净机器上可复现;CI 验证通过 | [Google] + [ByteDance] |
| CI 配置 | 基础构建 + lint/format/security 检查可运行 | 推送后 CI 通过;至少成功运行 1 次 | [Google] |
| 协作规范 | 贡献指南 + PR 模板 + commit 规范 | 覆盖提交流程、Review 规则、质量门禁 | [Google] + [Amazon] |
退出条件
- 开发环境可复现(有 Dockerfile/环境配置文档/一键脚本,且在 CI 中验证通过)
- 仓库结构与约定一致(验证脚本通过)
- 基础 CI 可运行(至少成功运行 1 次)
- 协作规范已建立(贡献指南 + commit 规范 + PR 模板)
- 依赖版本已锁定(有 lockfile,具体到版本号)
Gate 映射
本阶段对应 G4 — 环境就绪。
| Gate 检查项 | 对应活动 | 判定标准 | 自动化判定 |
| 开发环境是否可复现? | 开发环境配置 | 有 Dockerfile/环境配置文档/一键脚本,且在干净环境验证通过 | 可自动:检查文件存在 + CI 验证记录 |
| 仓库结构是否符合约定? | 仓库初始化 | 验证脚本通过(所有必需目录/文件存在) | 可自动:运行验证脚本 |
| 依赖版本是否已锁定? | 开发环境配置 | 存在 lockfile 且所有依赖锁定到具体版本 | 可自动:检查 lockfile 存在 + 版本格式(非 latest/*) |
| 基础 CI 是否可运行? | 基础 CI 配置 | CI 配置文件存在且至少成功运行 1 次 | 可自动:检查 CI 配置文件 + CI 运行记录 |
| 协作规范是否已建立? | 协作规范建立 | 贡献指南/编码规范/提交规范/PR 模板至少 1 份 | 可自动:检查文件存在 |
| 安全检查是否已集成? | 基础 CI 配置 | CI 包含密钥扫描和依赖漏洞检查 | 可自动:检查 CI 配置中的安全步骤 |
| 新成员能否在 30 分钟内配置环境? | 开发环境配置 | 环境配置文档步骤数 ≤15 步;有自动化脚本 | 可自动:检查步骤数 + 自动化脚本存在 |
企业实践溯源
本子工作流的设计参考了以下企业实践,每条实践已映射到具体活动步骤:
| 企业 | 核心实践 | 映射到本工作流 |
| Trunk-Based Development + Conventional Commits | 仓库初始化→主分支始终可发布;commit 格式自动化检查 | |
| 新成员 30 分钟环境配置 | 开发环境配置→Docker/devcontainer 一键启动;环境可用性验证 | |
| CI 每次 push 自动触发 + lint/format/security 强制执行 | 基础 CI 配置→全自动质量门禁;安全检查集成 | |
| CONTRIBUTING.md 标准入口 | 协作规范→贡献指南是开源项目标配 | |
| Amazon | 从新成员视角验证文档 | 协作规范→不是从搭建者视角,是从"第一天加入的人"视角 |
| Amazon | PR 模板强制"为什么" | 协作规范→PR 描述不只讲"改了什么",更要讲"为什么这样改" |
| ByteDance | 版本锁定 = 可复现的前提 | 开发环境配置→lockfile 锁定具体版本;环境一致性 |
| ByteDance | CI 至少成功一次才叫"配置好了" | 基础 CI 配置→不接受"配好了但没跑过" |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

