ln-115-devops-docs-creator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDevOps Documentation Creator
DevOps文档生成工具
L3 Worker that creates runbook.md. CONDITIONAL - only invoked when project has Docker or deployment config.
用于生成runbook.md的L3 Worker,仅在项目包含Docker或部署配置时才会被条件式调用。
Purpose & Scope
目标与范围
- Creates runbook.md (if hasDocker)
- Receives Context Store from ln-110-project-docs-coordinator
- Step-by-step setup and deployment instructions
- Troubleshooting guide
- Never gathers context itself; uses coordinator input
- 当检测到Docker时创建runbook.md文档
- 接收来自ln-110-project-docs-coordinator的上下文存储数据
- 提供分步式的环境搭建与部署说明
- 包含故障排查指南
- 不会自行收集上下文数据,仅使用协调器提供的输入
Invocation (who/when)
调用规则(调用方/触发时机)
- ln-110-project-docs-coordinator: CONDITIONALLY invoked when:
- (Dockerfile or docker-compose.yml detected)
hasDocker=true
- Never called directly by users
- 调用方:ln-110-project-docs-coordinator,满足以下条件时触发:
- (检测到Dockerfile或docker-compose.yml文件)
hasDocker=true
- 不会由用户直接调用
Inputs
输入参数
From coordinator:
- : Context Store with DevOps-specific data
contextStore- DOCKER_COMPOSE_DEV (development setup)
- DOCKER_COMPOSE_PROD (production setup)
- ENV_VARIABLES (from .env.example)
- STARTUP_SEQUENCE (services order)
- DEPLOYMENT_TARGET (AWS, Vercel, Heroku)
- CI_CD_PIPELINE (from .github/workflows)
- DOCKER_SERVICES (parsed from docker-compose.yml services)
- DEPLOYMENT_SCALE ("single" | "multi" | "auto-scaling" | "gpu-based")
- DEVOPS_CONTACTS (from CODEOWNERS, package.json author, git log)
- HAS_GPU (detected from docker-compose nvidia runtime)
- : Project root directory
targetDir - : { hasDocker }
flags
来自协调器的输入:
- :包含DevOps专属数据的上下文存储
contextStore- DOCKER_COMPOSE_DEV(开发环境配置)
- DOCKER_COMPOSE_PROD(生产环境配置)
- ENV_VARIABLES(来自.env.example文件)
- STARTUP_SEQUENCE(服务启动顺序)
- DEPLOYMENT_TARGET(部署目标平台:AWS、Vercel、Heroku)
- CI_CD_PIPELINE(来自.github/workflows目录)
- DOCKER_SERVICES(从docker-compose.yml的services字段解析而来)
- DEPLOYMENT_SCALE(部署规模:"single" | "multi" | "auto-scaling" | "gpu-based")
- DEVOPS_CONTACTS(从CODEOWNERS、package.json的author字段、git日志中获取)
- HAS_GPU(从docker-compose的nvidia runtime检测而来)
- :项目根目录
targetDir - :{ hasDocker }
flags
Documents Created (1, conditional)
生成的文档(1个,条件式生成)
| File | Condition | Questions | Auto-Discovery |
|---|---|---|---|
| docs/project/runbook.md | hasDocker | Q46-Q51 | High |
| 文件 | 生成条件 | 关联问题 | 自动发现能力 |
|---|---|---|---|
| docs/project/runbook.md | hasDocker为true | Q46-Q51 | 高 |
Workflow
工作流程
Phase 1: Check Conditions
阶段1:条件检查
- Parse flags from coordinator
- If : return early with empty result
!hasDocker
- 解析协调器传入的flags参数
- 若:直接返回空结果
!hasDocker
Phase 2: Create Document
阶段2:创建文档
- Check if file exists (idempotent)
- If exists: skip with log
- If not exists:
- Copy template
- Replace placeholders with Context Store values
- Populate setup steps from package.json scripts
- Extract env vars from .env.example
- Mark for missing data
[TBD: X]
- Conditional Section Pruning:
- If DEPLOYMENT_SCALE != "multi" or "auto-scaling": Remove scaling/load balancer sections
- If !HAS_GPU: Remove GPU-related sections (nvidia runtime, CUDA)
- If service not in DOCKER_SERVICES: Remove that service's examples (e.g., no Redis = no Redis commands)
- If DEVOPS_CONTACTS empty: Mark {{KEY_CONTACTS}} as
[TBD: Provide DevOps team contacts via Q50] - Populate {{SERVICE_DEPENDENCIES}} ONLY from DOCKER_SERVICES (no generic examples)
- Populate {{PORT_MAPPING}} ONLY from docker-compose.yml ports section
- 检查文件是否已存在(幂等性)
- 若已存在:记录日志并跳过创建
- 若不存在:
- 复制模板文件
- 使用上下文存储中的值替换模板占位符
- 从package.json的scripts字段填充环境搭建步骤
- 从.env.example文件提取环境变量
- 对缺失的数据标记为
[TBD: X]
- 条件式章节裁剪:
- 若DEPLOYMENT_SCALE不等于"multi"或"auto-scaling":移除扩容/负载均衡相关章节
- 若!HAS_GPU:移除GPU相关章节(nvidia runtime、CUDA)
- 若服务不在DOCKER_SERVICES中:移除该服务的示例内容(例如:无Redis则删除Redis命令示例)
- 若DEVOPS_CONTACTS为空:将{{KEY_CONTACTS}}标记为
[TBD: 通过Q50提供DevOps团队联系人信息] - 仅从DOCKER_SERVICES中填充{{SERVICE_DEPENDENCIES}}(不使用通用示例)
- 仅从docker-compose.yml的ports字段填充{{PORT_MAPPING}}
Phase 3: Self-Validate
阶段3:自我校验
- Check SCOPE tag
- Validate sections:
- Local Development Setup (prerequisites, install, run)
- Deployment (platform, build, deploy steps)
- Troubleshooting (common errors, debugging)
- Check env vars documented
- Check Maintenance section
- 检查SCOPE标签
- 验证章节完整性:
- 本地开发环境搭建(前置依赖、安装、运行)
- 部署流程(平台选择、构建、部署步骤)
- 故障排查(常见错误、调试方法)
- 检查环境变量是否已文档化
- 检查维护章节是否存在
Phase 4: Return Status
阶段4:返回状态
json
{
"created": ["docs/project/runbook.md"],
"skipped": [],
"tbd_count": 0,
"validation": "OK"
}json
{
"created": ["docs/project/runbook.md"],
"skipped": [],
"tbd_count": 0,
"validation": "OK"
}Critical Notes
重要说明
Core Rules
核心规则
- Conditional: Skip entirely if no Docker detected
- Heavy auto-discovery: Most data from docker-compose.yml, .env.example, package.json
- Reproducible: Setup steps must be testable and repeatable
- Idempotent: Never overwrite existing files
- 条件执行: 未检测到Docker时直接跳过所有操作
- 高度自动发现: 大部分数据来自docker-compose.yml、.env.example、package.json
- 可复现性: 环境搭建步骤必须可测试、可重复执行
- 幂等性: 绝不会覆盖已存在的文件
NO_CODE_EXAMPLES Rule (MANDATORY)
NO_CODE_EXAMPLES规则(强制要求)
Runbook documents procedures, NOT implementations:
- FORBIDDEN: Full Docker configs, CI/CD pipelines (>5 lines)
- ALLOWED: Command examples (1-3 lines), env var tables, step lists
- INSTEAD OF CODE: "See docker-compose.yml"
Runbook文档仅记录操作流程,而非实现细节:
- 禁止: 完整的Docker配置、超过5行的CI/CD流水线代码
- 允许: 1-3行的命令示例、环境变量表格、步骤列表
- 替代代码的方式: "查看docker-compose.yml"
Stack Adaptation Rule (MANDATORY)
技术栈适配规则(强制要求)
- Commands must match project stack (npm vs pip vs go)
- Link to correct cloud provider docs (AWS/Azure/GCP)
- Never mix stack references (no npm commands in Python project)
- 命令必须匹配项目技术栈(npm/pip/go等)
- 链接到对应云服务商的官方文档(AWS/Azure/GCP)
- 禁止混合不同技术栈的参考内容(例如:Python项目中不得出现npm命令)
Format Priority (MANDATORY)
格式优先级(强制要求)
Tables (env vars, ports, services) > Lists (setup steps) > Text
表格(环境变量、端口、服务) > 列表(搭建步骤) > 文本
Definition of Done
完成标准
- Condition checked (hasDocker)
- Document created if applicable
- Setup steps, deployment, troubleshooting documented
- All env vars from .env.example included
- Status returned to coordinator
- 已检查Docker存在条件
- 按需创建了文档
- 已记录环境搭建步骤、部署流程、故障排查内容
- 已包含.env.example中的所有环境变量
- 已向协调器返回执行状态
Reference Files
参考文件
- Templates:
references/templates/runbook_template.md - Questions: (Q46-Q51)
references/questions_devops.md
Version: 1.1.0 (Added NO_CODE, Stack Adaptation, Format Priority rules)
Last Updated: 2025-01-12
- 模板:
references/templates/runbook_template.md - 关联问题:(Q46-Q51)
references/questions_devops.md
版本: 1.1.0(新增NO_CODE、技术栈适配、格式优先级规则)
最后更新: 2025-01-12