SuperAPI AI 工具集

ln-730-devops-setup

部署与运维

查看项目

更新于 10-15 12:39

技能介绍

用途

ln-730-devops-setup 是一个 DevOps 基础设施搭建协调技能,属于 L2 域协调器(L2 Domain Coordinator),分类为 7XX Project Bootstrap,父技能为 ln-700-project-bootstrap。它用于为一个项目编排完整的 DevOps 基础设施搭建流程。

它明确不做的事:不直接生成文件,而是委托给三个专职子技能(ln-731、ln-732、ln-733)完成具体工作。

主要能力

  • 自动检测项目技术栈,无需用户交互提示(Auto-detect 模式)。
  • 调度专职子技能并验证生成的配置。
  • 支持的技术栈:
    • 前端:React/Vite + Nginx
    • 后端:.NET 8/9 或 Python(FastAPI/Django)
    • 数据库:PostgreSQL
    • CI/CD:GitHub Actions

输入为包含源代码的项目目录,输出为 Docker、CI/CD 与环境配置。

工作流程

阶段 1:预检验证(Pre-flight Validation)

检查所需工具与项目结构:验证已安装 Docker(docker --version)、验证 docker-compose 可用、检查是否已存在 DevOps 文件(覆盖前会警告)。输出校验报告,或在无法继续时输出 STOP 与说明。

阶段 2:项目分析(自动检测)

自动检测项目栈,检测方式与检查文件如下:

  • 前端:通过 package.json 是否存在,检查 src/frontend/package.json、package.json
  • 后端 .NET:通过 .csproj/.sln 是否存在,检查 .sln、src/**/.csproj
  • 后端 Python:通过 requirements.txt/pyproject.toml,检查 requirements.txt、pyproject.toml
  • 数据库:通过代码中的连接字符串,检查 appsettings.json、.env.example
  • 已有 CI/CD:检查工作流文件,检查 .github/workflows/、azure-pipelines.yml

版本检测方式:Node.js 读取 package.json 的 engines 或使用 node -v;.NET 读取 *.csproj 的 TargetFramework;Python 读取 pyproject.toml 或 runtime.txt;PostgreSQL 默认使用最新稳定版(17)。输出为含检测版本的栈配置对象。

阶段 3:子技能调度(Worker Delegation)

并行委托给子技能(任务相互独立):

  • ln-731-docker-generator:输入栈配置与版本,输出 Dockerfile.*、docker-compose.yml、.dockerignore
  • ln-732-cicd-generator:输入栈配置与检测到的命令,输出 .github/workflows/ci.yml
  • ln-733-env-configurator:输入检测到的环境变量,输出 .env.example、.env.development、.gitignore 更新

错误处理:若某子技能失败,记录错误并继续其他任务;最后统一报告所有失败项,并建议对失败组件的手动修复方案。

调用方式: Skill(skill: "ln-731-docker-generator", args: "{projectPath}") Skill(skill: "ln-732-cicd-generator", args: "{projectPath}") Skill(skill: "ln-733-env-configurator", args: "{projectPath}")

阶段 4:配置校验

运行 docker-compose config 校验语法、检查所有引用的文件是否存在、验证提交文件中不含密钥。输出校验报告。

阶段 5:完成报告

生成摘要:列出所有创建的文件、展示检测到的栈配置、提供后续步骤建议。

生成的文件

Docker(ln-731):Dockerfile.frontend(前端多阶段构建)、Dockerfile.backend(后端多阶段构建)、docker-compose.yml(服务编排)、docker-compose.override.yml(开发覆盖,可选)、.dockerignore(构建上下文排除)。

CI/CD(ln-732):.github/workflows/ci.yml(主 CI 流水线)。

环境(ln-733):.env.example(含所有变量的模板)、.env.development(开发默认值)、.env.production(生产模板,占位符)、.gitignore 更新(密钥保护)。

关键注意事项

  • 仅自动检测:无交互提示,使用检测值或合理默认值。
  • 幂等:创建前检查文件是否存在,覆盖前会发出警告。
  • 并行执行:子技能相互独立,可并行运行。
  • 错误恢复:允许部分失败继续执行,结束时报告所有问题。
  • 版本锁定:使用检测到的版本,不使用硬编码值。

TodoWrite 格式(强制):

  • Invoke ln-731-docker-generator (pending)
  • Invoke ln-732-cicd-generator (pending)
  • Invoke ln-733-env-configurator (pending)
  • Verify configuration (pending)
  • Generate completion report (pending)

子技能调用(强制)

宿主技能调用 Skill(skill: "...", args: "...") 为强制委托。Claude:严格按所示调用 Skill 工具。Codex:若不存在 Skill 工具,则在可用技能中定位该命名技能,读取其 SKILL.md,将 args 视为 $ARGUMENTS,执行该技能工作流,然后返回此处并带回其结果/产物。不得内联子技能逻辑,也不得在未执行目标技能的情况下将子技能标记为完成。

阶段与子技能对应:

  • 3a ln-731-docker-generator:Shared(Skill 工具)— Dockerfile、docker-compose、.dockerignore
  • 3b ln-732-cicd-generator:Shared(Skill 工具)— CI/CD 流水线配置
  • 3c ln-733-env-configurator:Shared(Skill 工具)— 环境文件与 .gitignore

所有子技能均通过 Skill 工具调用,子技能可见协调器上下文。

完成标准(Definition of Done)

  • 预检验证通过
  • 栈自动检测成功
  • 所有子技能完成(或失败已记录)
  • docker-compose config 校验成功
  • 生成文件中不含密钥
  • 显示完成报告

参考文件

  • Worker: ../ln-731-docker-generator/SKILL.md
  • Worker: ../ln-732-cicd-generator/SKILL.md
  • Worker: ../ln-733-env-configurator/SKILL.md

元分析(Meta-Analysis)

可选参考:仅当用户要求运行后元分析或需要协议格式的运行反思时,才加载 references/meta_analysis_protocol.md。技能类型:execution-orchestrator。被请求时,在所有阶段完成后运行,使用 execution-orchestrator 格式输出到聊天。

版本:1.1.0 最后更新:2026-01-10

适用场景与限制

适用场景:为已有源代码的项目补充 Docker 容器化、GitHub Actions CI/CD 流水线以及环境变量配置。

限制:仅支持资料中列出的技术栈(React/Vite + Nginx、.NET 8/9、Python FastAPI/Django、PostgreSQL、GitHub Actions);采用无交互自动检测模式;定价、平台支持范围等信息暂未提供。