Cursor Skill

setting-up-ci

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

LLM Mart · 0 points · 24 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download spencerpauly-awesome-cursor-skills-resources_setting-up-ci-99cd265.zip · 1 KB
Part of spencerpauly/awesome-cursor-skills — 65 skills

Install

skills CLI npx skills add https://github.com/spencerpauly/awesome-cursor-skills/tree/main/resources/setting-up-ci
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install spencerpauly-awesome-cursor-skills@llmmart
Git git clone https://github.com/spencerpauly/awesome-cursor-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole spencerpauly/awesome-cursor-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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.
Files (awesome-cursor-skills)
  • SKILL.md 2.3 KB
    ---
    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:
    
       ```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
       ```
    
    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:
    
       ```yaml
       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:
    
       ```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 }}
       ```
    
    7. **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.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related