Skip to content

Development and Tools

Continuous Integration

The short version

Continuous integration (CI) means every push automatically runs your tests, typecheck, and a build on a clean machine. I do not have to remember to do it. A machine that does not have my leftover local junk does the check.

Why it matters

CI catches breaks before merge, so I can trust main. "It works on my laptop" is not the same as a fresh checkout. If the check is green, the branch is safe to merge.

How it works

  1. You push a branch.
  2. A workflow starts on a clean machine.
  3. You get a green check or a red check.
  4. You merge only when it is green. Branch protection (required checks) blocks the merge until then.

Key concepts

Tips for AI-assisted development

A tiny GitHub Actions workflow

Drop this in .github/workflows/ci.yml. Every push and pull request runs tests, typecheck, and a build.

name: CI
on:
  push:
  pull_request:
jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - run: npm test
      - run: npx tsc --noEmit
      - run: npm run build

Find something.

Search the wiki, writing, apps, and more.

Esc to close · ⌘K / Ctrl K to search

Say hello.

Have a question, an idea, or just want to connect?

hi@masonearl.com
Gmail ↗Outlook ↗

Choose your email service, or try your default email app ↗.

X / @masonearl ↗LinkedIn ↗