Skip to main content
DevOpsSteveGJones

setup-ci

Generate a GitHub Actions workflow for SDLC validation. Use when setting up CI/CD for a new project.

Stars
38
Source
SteveGJones/ai-first-sdlc-practices
Updated
2026-05-11
Slug
SteveGJones--ai-first-sdlc-practices--setup-ci
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/SteveGJones/ai-first-sdlc-practices/HEAD/plugins/sdlc-core/skills/setup-ci/SKILL.md -o .claude/skills/setup-ci.md

Drops the SKILL.md into .claude/skills/setup-ci.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Setup CI/CD

Generate a GitHub Actions workflow that mirrors the SDLC validation pipeline.

Arguments

  • python — Python project (ruff, mypy, pytest, bandit). Default if .py files detected.
  • javascript — JS/TS project (eslint, tsc, jest/vitest).
  • go — Go project (go vet, staticcheck, go test).

If no argument provided, detect language from project files.

Steps

  1. Detect language if not specified:

    • *.py files → python
    • *.ts or *.js files → javascript
    • *.go files → go
  2. Check for existing workflow:

    • If .github/workflows/sdlc-validate.yml exists, warn and ask before overwriting.
  3. Create workflow directory:

mkdir -p .github/workflows
  1. Generate workflow from the appropriate template:

  2. Report the created file and suggest next steps:

    Created .github/workflows/sdlc-validate.yml
    
    Python workflow runs on push and PR to main:
    - Lint (ruff)
    - Format check (ruff format)
    - Type check (mypy)
    - Tests (pytest)
    - Security (bandit)
    
    JavaScript/TypeScript workflow runs:
    - Install (npm ci)
    - Lint (npm run lint)
    - Type check (tsc --noEmit if tsconfig.json present)
    - Tests (npm test)
    - Security audit (npm audit --audit-level=high)
    
    Go workflow runs:
    - Modules (go mod download)
    - Vet (go vet ./...)
    - Lint (staticcheck ./...)
    - Tests with race detector (go test -race ./...)
    - Security scan (gosec ./...)
    
    Commit and push to activate CI.