mcpField
L
ln-732-cicd-generator

ln-732-cicd-generator

github.com/levnikolaevich云与 DevOps584384 次安装2 天前更新
代码仓库

关于 ln-732-cicd-generator

此技能为 .NET 或 Python 项目生成 GitHub Actions CI 工作流,也可包含前端和 Docker 作业。它面向项目初始化,并会验证生成的 YAML;不负责部署或 CD 配置。

主要功能

  1. 01检测 .NET 或 Python 技术栈
  2. 02识别前端命令和版本
  3. 03生成 `.github/workflows/ci.yml`
  4. 04添加 lint、构建、测试和 Docker 作业
  5. 05验证 YAML 并在覆盖前警告

适用场景

  1. 01为 .NET 项目配置 CI
  2. 02创建 Python lint 和测试工作流
  3. 03在流水线中加入前端检查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-732-cicd-generator

安装后在 Claude Code 中输入/ln-732-cicd-generator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
github_ci_dotnet.template.yml
github_ci_python.template.yml
github_ci.template.yml

详细介绍

路径: 文件路径(references/、../ln-*)均相对于此技能目录。

ln-732-cicd-generator

类型: L3 Worker 类别: 7XX 项目引导

为自动化测试和验证生成 GitHub Actions CI 流水线。


用途与范围

为 GitHub 创建 CI/CD 工作流:

  • 会做: 生成包含 lint、test、build、docker 任务的 .github/workflows/ci.yml
  • 不会做: 配置部署、管理密钥、设置 CD 流水线

输入

输入来源描述
技术栈类型ln-730 coordinatorbackend-dotnet、backend-python
版本自动检测Node.js、.NET 或 Python 版本
前端路径自动检测前端目录的路径
构建命令自动检测npm 脚本、dotnet/pytest 命令

输出

文件用途模板
.github/workflows/ci.yml主 CI 流水线github_ci_dotnet.template.yml 或 github_ci_python.template.yml

工作流

阶段 1:技术栈分析

确定要使用的模板:

检测结果后端模板
存在 .sln 或 .csprojgithub_ci_dotnet.template.yml
存在 requirements.txt 或 pyproject.tomlgithub_ci_python.template.yml

检测命令:

  • 前端:从 package.json 读取脚本(lint、build、test)
  • .NET:标准 dotnet restore/build/test
  • Python:pip install、ruff lint、pytest
阶段 2:变量替换

替换模板变量:

变量来源默认值
{{NODE_VERSION}}package.json engines22
{{DOTNET_VERSION}}*.csproj TargetFramework9.0.x
{{PYTHON_VERSION}}pyproject.toml3.12
{{FRONTEND_PATH}}目录检测src/frontend
阶段 3:创建目录

如果 .github/workflows/ 目录不存在,则创建该目录。

阶段 4:生成文件

根据选定的模板生成 ci.yml:

  1. 检查工作流是否已存在(覆盖前警告)
  2. 替换变量
  3. 写入 .github/workflows/ci.yml
  4. 验证 YAML 语法

生成的流水线结构

任务概览
任务用途依赖项
frontend对 React/Vite 进行 lint、build、test无
backend构建、测试 .NET 或 Python无
docker构建镜像、执行健康检查frontend、backend
前端任务步骤
  1. 检出代码
  2. 设置带缓存的 Node.js
  3. 安装依赖(npm ci)
  4. 运行代码检查工具(npm run lint)
  5. 构建应用程序(npm run build)
  6. 运行测试(npm test)
后端任务步骤(.NET)
  1. 检出代码
  2. 设置 .NET SDK
  3. 还原依赖项(dotnet restore)
  4. 构建(dotnet build)
  5. 运行测试(dotnet test)
后端任务步骤(Python)
  1. 检出代码
  2. 设置带 pip 缓存的 Python
  3. 安装依赖项(pip install -r requirements.txt)
  4. 运行代码检查工具(ruff check)
  5. 运行测试(pytest)
Docker 任务步骤
  1. 检出代码
  2. 构建镜像(docker compose build)
  3. 启动容器(docker compose up -d)
  4. 等待启动(30 秒)
  5. 对前端执行健康检查(端口 3000)
  6. 对后端执行健康检查(端口 5000/8000)
  7. 失败时显示日志
  8. 停止容器(docker compose down)

触发条件

事件分支
Pushmain、develop
Pull Requestmain

已应用的最佳实践

实践实现方式
依赖缓存npm 缓存、pip 缓存
固定版本actions/checkout@v4、setup-node@v4
并行任务frontend 和 backend 并行运行
快速失败docker 任务等待两者成功
清理始终运行 docker compose down
调试支持失败时显示日志

质量标准

生成的工作流必须:

  • 通过 YAML 语法验证
  • 使用固定版本的操作(而非 @latest)
  • 包含依赖项缓存
  • 为 docker 作业添加健康检查
  • 在完成时清理资源

重要说明

  1. 仅限 GitHub Actions:此技能只生成 GitHub Actions 工作流,不支持 Azure/GitLab。
  2. 基于模板:使用 references/ 中的模板。请勿对工作流内容进行硬编码。
  3. 幂等:检查 .github/workflows/ 是否存在。覆盖 ci.yml 前发出警告。
  4. 版本检测:使用检测到的版本,而非硬编码的默认值。

参考文件

文件用途
github_ci.template.yml带注释的完整模板
github_ci_dotnet.template.yml精简的 .NET 技术栈模板
github_ci_python.template.yml精简的 Python 技术栈模板

完成定义

  • 已生成 .github/workflows/ci.yml,且通过 YAML 验证
  • 流水线包含 lint、build、test 和 docker 作业
  • 所有操作版本均已固定(非 @latest)

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

评论

支持 Markdown