Repository navigation
docs: document the issue-reference footer format - #520
Conversation
GitHub attaches a pull request to an issue only when the reference directly follows the keyword. "Closes issue #123" and "Closes Issue: #123" render as working links but leave the issue open and unlinked once the PR merges. Add AGENTS.md describing the correct form, and replace the pull request template, which taught the broken one.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The PR description’s final line has punctuation that prevents it from matching the documented standalone footer.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Documents the required issue-reference footer format and updates contributor guidance.
Changes:
- Adds footer-format guidance and examples.
- Adds a pull request template with valid syntax.
- Points Claude instructions to
AGENTS.md.
| File | Description |
|---|---|
AGENTS.md |
Documents footer requirements. |
CLAUDE.md |
References shared guidance. |
.github/PULL_REQUEST_TEMPLATE.md |
Provides the corrected footer template. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| `Closes:`, `Close:`, `Closed:`, `Fixes:`, `Fix:`, `Fixed:`, `Resolves:`, | ||
| `Resolve:`, `Resolved:`, `Refs:`, `Ref:`, `QA notes:`, or the standalone | ||
| `No QA required` / `No QA needed`. |
The prefilled `Closes: #` matched the semantic footer check on its own, so an untouched template passed CI without referencing any issue. Commenting the placeholder out makes the check fail until the author writes a real footer.
Claude Code reads AGENTS.md on its own when a repository has no CLAUDE.md, so a CLAUDE.md holding nothing but the import earns its keep no longer.
The three failure modes each fit inside the rule itself, and the counterexample is the only part a reader cannot derive from the correct form.
AGENTS.md carries the rule. The template needs only the placeholder and a pointer, and the placeholder stays commented so the check fails until it is replaced.
chutchins25
left a comment
There was a problem hiding this comment.
Nice work! Confirmed on e9bf16f7: the commented placeholder makes semantic-pr-footer fail until a real footer is written, and the cited PRs indeed carry no closing references.
Not a blocker — semantic-pr-footer-v1 accepts any line starting closes (isValidFooter.ts), so Closes issue #123 still passes CI. Might be worth a follow-up in axe-api-team-public to require #\d+ or a URL after the closing keywords, so the check enforces what AGENTS.md now documents.

GitHub attaches a pull request to an issue only when the reference directly
follows the keyword.
Closes issue #123andCloses Issue: #123render asworking links but leave the issue open and unlinked once the PR merges —
confirmed on dequelabs/axe-core-nuget#257, dequelabs/axe-core-nuget#69 and
dequelabs/axe-core-maven-html#211, none of which report a closing reference.
Adds
AGENTS.mddescribing the correct form, and replaces the pull requesttemplate, which taught the broken one.
No QA required.