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:
- Find lint command in
package.jsonscripts,Makefile, or CI config - Run it:
npm run lint,pnpm lint,make lint, etc. - 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)