Repository navigation
TLDR. The PR lint stops guessing at Markdown and asks GitHub; adopters can have their own tool pins watched; and there is a rule for recording where your repository deliberately differs from the template.
- The PR lint asks GitHub which issues a PR closes (#113, closes #104). It reads the pull request's
closingIssuesReferencesfor the body (excludeUserLinked). That list is exactly what GitHub will close on merge: closing keywords in prose, never in code or comments, as GitHub renders them. The hand-written CommonMark scanner is gone. Nine review rounds could not make it match GitHub, and GitHub's own answer matched CommonMark on every deferred case where the scanner failed.- An issue linked only in the PR's sidebar does not count. Changing that link fires no
pull_requestevent, so the check could never re-run to catch it. - GitHub updates the field a few seconds after a body edit (measured 1–9 s). The lint waits until the PR's latest update is 15 s old, checking both the event time and the live time, then reads until two reads agree. A "Re-run jobs" now re-checks the current body.
- An issue linked only in the PR's sidebar does not count. Changing that link fires no
check-tool-versionsreads adopter-owned pins (#112, closes #107). Add<tool> <version> github:<owner>/<repo>|npm:<pkg>|pypi:<pkg>rows to an optionalscripts/tool-pins.extra, and the weekly drift check watches them without any edit to the kit scripts. Malformed rows are errors, never skips. GitHub lookups now use curl with a 90 s limit instead ofgh api, which has no timeout, still authenticated. The maintenance job allows 30 minutes, so a slow registry day ends in the script's own report.- AGENTS.md names
docs/template-drift.md(#111, closes #105). If your repository deliberately differs from the template, record each difference there — the file, what differs, why — and update it in the PR that adds or removes one. The upgrade guide's diff now includesAGENTS.mdand points at that rule.
If you upgrade:
- Replace
scripts/pr-lint.jsandscripts/pr-lint.test.jswhole: both are rewritten. - The
cijob needsissues: readandpull-requests: read. It already has them if you took v0.5.3 or later. - Take
scripts/check-tool-versions.sh, and raisetimeout-minutesinmaintenance.ymlto 30. - Move any local tool pins you added to the kit scripts into
scripts/tool-pins.extra.