L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Déploiement et opérations · SKILL.md

setting-up-ci

setting-up-ci

Set up a GitHub Actions CI/CD pipeline with linting, testing, type-checking, and deployment steps.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: setting-up-ci description: Set up a GitHub Actions CI/CD pipeline with linting, testing, type-checking, and deployment steps.

Setup CI (GitHub Actions)

Use this skill when the user asks to set up CI, continuous integration, a build pipeline, or GitHub Actions.

Steps

  1. Detect the project structure — check for package.json (Node.js), requirements.txt / pyproject.toml (Python), go.mod (Go), or monorepo tools like Turborepo.

  2. Create .github/workflows/ci.yml

    For a Node.js project:

    name: CI
    
    on:
      push:
        branches: [main]
      pull_request:
        branches: [main]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: actions/setup-node@v4
            with:
              node-version: 20
              cache: npm
          - run: npm ci
          - run: npm run lint
          - run: npm run typecheck
          - run: npm test
          - run: npm run build
    
  3. Add type-checking — if typecheck script doesn't exist in package.json, add "typecheck": "tsc --noEmit".

  4. Add caching — the actions/setup-node cache option handles node_modules. For monorepos with Turborepo, add remote caching or actions/cache for .turbo.

  5. Add matrix testing (optional) — if the user needs to test across Node versions or OS:

    strategy:
      matrix:
        node-version: [18, 20, 22]
    
  6. Add deployment step (optional) — if requested, add a deploy job that runs only on main pushes, gated by the build job succeeding:

    deploy:
      needs: build
      if: github.ref == 'refs/heads/main'
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v4
        - run: npm ci && npm run build
        - run: npx vercel deploy --prod --token=${{ secrets.VERCEL_TOKEN }}
    
  7. Add status badge — add the workflow status badge to the project README:

    ![CI](https://github.com/OWNER/REPO/actions/workflows/ci.yml/badge.svg)
    

Notes

  • Keep CI fast — run lint and typecheck in parallel using separate jobs if the pipeline is slow.
  • Use npm ci (not npm install) for deterministic installs.
  • Store secrets (API keys, deploy tokens) in GitHub repository settings, never in the workflow file.
Skills enregistrées