rcode-cilisted
Install: claude install-skill hanzlahabib/rcode
@.rcode/references/karpathy-guidelines.md
## Overview
CI is the contract that keeps `main` green. This skill enforces a small, predictable set of gates rather than a sprawling pipeline. For deployment, the rcode-default path is: Docker Compose for dev → Helm chart for K8s production. The skill knows the common pitfalls (env drift, missing healthchecks, cold-start memory limits).
## CI pre-merge gates (in order)
1. **Lint / format.** Whatever the project uses (ESLint, Prettier, ruff). Auto-fixable issues block merge.
2. **Type check.** `tsc --noEmit` for TS projects, `mypy --strict` for Python.
3. **Test.** `node --test` / `pnpm test` / `pytest`. Across the supported runtime matrix (e.g. Node 18/20/22/24).
4. **Build.** Whatever produces shippable artefacts. Fails-on-warnings.
5. **Custom invariants.** rcode example: `zero-dep` job that asserts `package.json` has no runtime dependencies.
If any gate fails, no merge. No `--no-verify`. Fix the underlying issue.
## GitHub Actions template (Node project)
```yaml
name: test
on:
push: { branches: [main] }
pull_request: { branches: [main] }
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ['18.x', '20.x', '22.x', '24.x']
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '${{ matrix.node-version }}' }
- run: node --test
```
Reference the production rcode workflow at `.github/workflows/tes