spencerpauly/awesome-cursor-skills

setting-up-ci

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

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill setting-up-ci

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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.
  1. Create `.github/workflows/ci.yml`

For a Node.js project:

yaml
   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
  1. Add type-checking — if typecheck script doesn't exist in package.json, add "typecheck": "tsc --noEmit".
  1. Add caching — the actions/setup-node cache option handles node_modules. For monorepos with Turborepo, add remote caching or actions/cache for .turbo.
  1. Add matrix testing (optional) — if the user needs to test across Node versions or OS:
yaml
   strategy:
     matrix:
       node-version: [18, 20, 22]
  1. Add deployment step (optional) — if requested, add a deploy job that runs only on main pushes, gated by the build job succeeding:
yaml
   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 }}
  1. Add status badge — add the workflow status badge to the project README:
markdown
   ![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.

Related by task

from this repository

More skills

All skills