mcpField
L
ln-732-cicd-generator

ln-732-cicd-generator

github.com/levnikolaevichCloud & DevOps584384 installsUpdated 2d ago
Repository

About ln-732-cicd-generator

A skill that generates a GitHub Actions CI workflow for projects using .NET or Python, with optional frontend and Docker jobs. It is intended for project setup and validates the generated YAML; deployment and CD configuration are out of scope.

Key features

  1. 01Detects .NET or Python stack
  2. 02Finds frontend commands and versions
  3. 03Generates .github/workflows/ci.yml
  4. 04Adds lint, build, test, and Docker jobs
  5. 05Validates YAML and warns before overwrite

Use cases

  1. 01Set up CI for a .NET project
  2. 02Create Python lint and test workflows
  3. 03Add frontend checks to a project pipeline

Install

Copy the command and run it in a terminal.

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

After installing, type/ln-732-cicd-generatorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

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

Details

From the project README

Paths: File paths (references/, ../ln-*) are relative to this skill directory.

ln-732-cicd-generator

Type: L3 Worker Category: 7XX Project Bootstrap

Generates GitHub Actions CI pipeline for automated testing and validation.


Purpose & Scope

Creates CI/CD workflow for GitHub:

  • Does: Generate .github/workflows/ci.yml with lint, test, build, docker jobs
  • Does NOT: Configure deployment, manage secrets, set up CD pipelines

Inputs

InputSourceDescription
Stack Typeln-730 coordinatorbackend-dotnet, backend-python
VersionsAuto-detectedNode.js, .NET or Python versions
Frontend PathAuto-detectedPath to frontend directory
Build CommandsAuto-detectednpm scripts, dotnet/pytest commands

Outputs

FilePurposeTemplate
.github/workflows/ci.ymlMain CI pipelinegithub_ci_dotnet.template.yml or github_ci_python.template.yml

Workflow

Phase 1: Stack Analysis

Determine which template to use:

DetectionBackend Template
.sln or .csproj presentgithub_ci_dotnet.template.yml
requirements.txt or pyproject.toml presentgithub_ci_python.template.yml

Detect commands:

  • Frontend: Read scripts from package.json (lint, build, test)
  • .NET: Standard dotnet restore/build/test
  • Python: pip install, ruff lint, pytest
Phase 2: Variable Substitution

Replace template variables:

VariableSourceDefault
{{NODE_VERSION}}package.json engines22
{{DOTNET_VERSION}}*.csproj TargetFramework9.0.x
{{PYTHON_VERSION}}pyproject.toml3.12
{{FRONTEND_PATH}}Directory detectionsrc/frontend
Phase 3: Directory Creation

Create .github/workflows/ directory if not exists.

Phase 4: File Generation

Generate ci.yml from selected template:

  1. Check if workflow already exists (warn before overwrite)
  2. Apply variable substitution
  3. Write to .github/workflows/ci.yml
  4. Validate YAML syntax

Generated Pipeline Structure

Jobs Overview
JobPurposeDependencies
frontendLint, build, test React/ViteNone
backendBuild, test .NET or PythonNone
dockerBuild images, health checksfrontend, backend
Frontend Job Steps
  1. Checkout code
  2. Setup Node.js with caching
  3. Install dependencies (npm ci)
  4. Run linter (npm run lint)
  5. Build application (npm run build)
  6. Run tests (npm test)
Backend Job Steps (.NET)
  1. Checkout code
  2. Setup .NET SDK
  3. Restore dependencies (dotnet restore)
  4. Build (dotnet build)
  5. Run tests (dotnet test)
Backend Job Steps (Python)
  1. Checkout code
  2. Setup Python with pip caching
  3. Install dependencies (pip install -r requirements.txt)
  4. Run linter (ruff check)
  5. Run tests (pytest)
Docker Job Steps
  1. Checkout code
  2. Build images (docker compose build)
  3. Start containers (docker compose up -d)
  4. Wait for startup (30 seconds)
  5. Health check frontend (port 3000)
  6. Health check backend (port 5000/8000)
  7. Show logs on failure
  8. Stop containers (docker compose down)

Triggers

EventBranches
Pushmain, develop
Pull Requestmain

Best Practices Applied

PracticeImplementation
Dependency cachingnpm cache, pip cache
Pinned versionsactions/checkout@v4, setup-node@v4
Parallel jobsfrontend and backend run in parallel
Fail fastdocker job waits for both to succeed
Clean updocker compose down runs always
Debug supportlogs shown on failure

Quality Criteria

Generated workflow must:

  • Pass YAML syntax validation
  • Use pinned action versions (not @latest)
  • Include dependency caching
  • Have health checks for docker job
  • Clean up resources on completion

Critical Notes

  1. GitHub Actions Only: This skill generates only GitHub Actions workflows. No Azure/GitLab support.
  2. Template-based: Use templates from references/. Do NOT hardcode workflow contents.
  3. Idempotent: Check if .github/workflows/ exists. Warn before overwriting ci.yml.
  4. Version Detection: Use detected versions, not hardcoded defaults.

Reference Files

FilePurpose
github_ci.template.ymlFull template with comments
github_ci_dotnet.template.ymlCompact .NET stack template
github_ci_python.template.ymlCompact Python stack template

Definition of Done

  • .github/workflows/ci.yml generated and passes YAML validation
  • Pipeline includes lint, build, test, and docker jobs
  • All action versions pinned (not @latest)

Version: 1.1.0 Last Updated: 2026-01-10

Comments

Markdown supported