关于 ln-732-cicd-generator
此技能为 .NET 或 Python 项目生成 GitHub Actions CI 工作流,也可包含前端和 Docker 作业。它面向项目初始化,并会验证生成的 YAML;不负责部署或 CD 配置。
主要功能
- 01检测 .NET 或 Python 技术栈
- 02识别前端命令和版本
- 03生成 `.github/workflows/ci.yml`
- 04添加 lint、构建、测试和 Docker 作业
- 05验证 YAML 并在覆盖前警告
适用场景
- 01为 .NET 项目配置 CI
- 02创建 Python lint 和测试工作流
- 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.ymlgithub_ci_python.template.ymlgithub_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 coordinator | backend-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 或 .csproj | github_ci_dotnet.template.yml |
存在 requirements.txt 或 pyproject.toml | github_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 engines | 22 |
{{DOTNET_VERSION}} | *.csproj TargetFramework | 9.0.x |
{{PYTHON_VERSION}} | pyproject.toml | 3.12 |
{{FRONTEND_PATH}} | 目录检测 | src/frontend |
阶段 3:创建目录
如果 .github/workflows/ 目录不存在,则创建该目录。
阶段 4:生成文件
根据选定的模板生成 ci.yml:
- 检查工作流是否已存在(覆盖前警告)
- 替换变量
- 写入
.github/workflows/ci.yml - 验证 YAML 语法
生成的流水线结构
任务概览
| 任务 | 用途 | 依赖项 |
|---|---|---|
| frontend | 对 React/Vite 进行 lint、build、test | 无 |
| backend | 构建、测试 .NET 或 Python | 无 |
| docker | 构建镜像、执行健康检查 | frontend、backend |
前端任务步骤
- 检出代码
- 设置带缓存的 Node.js
- 安装依赖(
npm ci) - 运行代码检查工具(
npm run lint) - 构建应用程序(
npm run build) - 运行测试(
npm test)
后端任务步骤(.NET)
- 检出代码
- 设置 .NET SDK
- 还原依赖项(
dotnet restore) - 构建(
dotnet build) - 运行测试(
dotnet test)
后端任务步骤(Python)
- 检出代码
- 设置带 pip 缓存的 Python
- 安装依赖项(
pip install -r requirements.txt) - 运行代码检查工具(
ruff check) - 运行测试(
pytest)
Docker 任务步骤
- 检出代码
- 构建镜像(
docker compose build) - 启动容器(
docker compose up -d) - 等待启动(30 秒)
- 对前端执行健康检查(端口 3000)
- 对后端执行健康检查(端口 5000/8000)
- 失败时显示日志
- 停止容器(
docker compose down)
触发条件
| 事件 | 分支 |
|---|---|
| Push | main、develop |
| Pull Request | main |
已应用的最佳实践
| 实践 | 实现方式 |
|---|---|
| 依赖缓存 | npm 缓存、pip 缓存 |
| 固定版本 | actions/checkout@v4、setup-node@v4 |
| 并行任务 | frontend 和 backend 并行运行 |
| 快速失败 | docker 任务等待两者成功 |
| 清理 | 始终运行 docker compose down |
| 调试支持 | 失败时显示日志 |
质量标准
生成的工作流必须:
- 通过 YAML 语法验证
- 使用固定版本的操作(而非
@latest) - 包含依赖项缓存
- 为 docker 作业添加健康检查
- 在完成时清理资源
重要说明
- 仅限 GitHub Actions:此技能只生成 GitHub Actions 工作流,不支持 Azure/GitLab。
- 基于模板:使用 references/ 中的模板。请勿对工作流内容进行硬编码。
- 幂等:检查 .github/workflows/ 是否存在。覆盖 ci.yml 前发出警告。
- 版本检测:使用检测到的版本,而非硬编码的默认值。
参考文件
| 文件 | 用途 |
|---|---|
| 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