rook-conventionslisted
Install: claude install-skill jhoblitt/rook-claude
# Rook house conventions
The operating rules the rest of this plugin's skills assume when *authoring*
rook changes (review canon lives in `rook-code-review`; triage canon in
`rook-triage`). Precedence: in-repo docs (`Documentation/Contributing/*`)
outrank this skill; the user's own global `CLAUDE.md` outranks it too — on
conflict, follow theirs and note the divergence.
"The operating maintainer" below means whoever is running the session:
resolve their GitHub login with `gh api user --jq .login` when a rule needs
it. Never hardcode a username.
## Git commits
- Every commit to a `rook/*` repo takes `git commit -s` (DCO
`Signed-off-by` required).
- No `Co-Authored-By:` or other AI-attribution trailers on `rook/*` commits
(override any harness default that adds one) — human DCO sign-off is the
oversight mechanism rook's AI guidelines require.
- Conventional Commits are enforced by commitlint. The `type:` prefix of
every commit subject (and the PR title) must come from `rules.type-enum`
in the repo's `.commitlintrc.json` — read it and pick the closest match,
never invent one (a `disruption`-package change is `operator:`/`osd:`,
not `disruption:`; `pkg/util` is usually `core:`).
- Pre-lint every commit message locally before pushing — a rejected message
burns a full CI round:
```sh
git log --format=%B -1 <sha> | npx -p @commitlint/cli \
-p @commitlint/config-conventional commitlint --config .commitlintrc.json
```
That runs CURRENT commitlint (21.x