GIT-010 critical ci-cd

Linting configured

Linting tools configured locally and in CI, runs on PRs

Question to ask

"Does a sloppy PR actually get blocked, or just warned?"

Verification guide

Severity: Critical

Check for lint configuration files:

# ESLint, Prettier, etc.
ls -la .eslintrc* eslint.config.* .prettierrc* prettier.config.* 2>/dev/null

# Python
ls -la .flake8 pyproject.toml .ruff.toml 2>/dev/null

# Ruby
ls -la .rubocop.yml 2>/dev/null

# Check package.json for lint script
grep -A2 '"lint"' package.json 2>/dev/null

Check CI config for linting commands:

grep -r -E "(eslint|prettier|lint|rubocop|flake8|ruff|pylint|golangci-lint)" .github/workflows/ 2>/dev/null

Verify lint runs on PRs (check workflow triggers):

grep -A5 "on:" .github/workflows/*.yml | grep -E "(pull_request|push)"

Test lint locally:

  1. Find lint command in package.json scripts, Makefile, or CI config
  2. Run it: npm run lint, pnpm lint, make lint, etc.
  3. Note if it passes, fails, or errors out

Pass criteria:

  • Lint tools are configured locally
  • Lint command is discoverable (package.json, Makefile, or README)
  • CI includes linting step
  • Lint runs on pull requests (not just main/staging)
  • Lint runs locally without erroring out (warnings/failures acceptable, crashes not)

Fail criteria:

  • No lint configuration found
  • No lint step in CI
  • Lint only runs on main (not on PRs)
  • Lint command crashes or is misconfigured

Evidence to capture:

  • Lint tools used (ESLint, Prettier, etc.)
  • Lint config file locations
  • Workflow triggers (confirms PR coverage)
  • Local lint output (pass/fail/issues noted)

Section

01. Git Repo Setup & Security

Infrastructure & Setup