Add Copilot instructions for PR labeling#2310
Open
andyleejordan wants to merge 1 commit into
Open
Conversation
We have no `.github/copilot-instructions.md`, so agents opening PRs have no guidance on labels. That matters because GitHub's auto-generated release notes categorize merged PRs by their `Issue-*` label (see `.github/release.yml`): `Issue-Enhancement` and `Issue-Bug` get their own sections, and everything else falls through the `"*"` catch-all into "Other Changes 🙏". A PR with no `Issue-*` label is silently miscategorized. This adds a short "Pull Request Labels" policy: every PR needs at least one `Area-*` label and exactly one `Issue-*` label, plus `OS-*` when relevant and `Ignore` to exclude from the changelog. It references `.github/release.yml` as the source of truth for the changelog mapping and tells readers to run `gh label list` for the authoritative label set rather than hard-coding one that will drift. Drafted by Copilot (Claude Opus 4.8). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds a new .github/copilot-instructions.md file to provide Copilot agents (and human contributors) with guidance on how to label pull requests. The labels drive GitHub's auto-generated release notes via .github/release.yml, so correct labeling is important for changelog accuracy.
Changes:
- Introduces a labeling policy requiring at least one
Area-*label, exactly oneIssue-*label, and optionallyOS-*orIgnorelabels. - Documents the connection between
Issue-*labels and the changelog categories defined in.github/release.yml. - Points readers to
gh label listand the repo's Labels page for the current label set, avoiding hard-coded lists that could drift.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+13
to
+23
| - **Exactly one `Issue-*` label** describing the kind of change: | ||
| - `Issue-Bug` — a bug fix. | ||
| - `Issue-Enhancement` — a new feature or changed behavior. | ||
| - `Issue-Performance` — a performance improvement. | ||
|
|
||
| The `Issue-*` label is not optional: GitHub's auto-generated release notes use it | ||
| to pick the changelog category. See [`.github/release.yml`](./release.yml) for the | ||
| authoritative mapping (`Issue-Enhancement` → "Enhancements & Features ✨", | ||
| `Issue-Bug` → "Squashed Bugs 🐛"). Any PR **without** an `Issue-*` label falls | ||
| through the `"*"` catch-all into "Other Changes 🙏" and is silently | ||
| miscategorized, so always set one correctly. |
andyleejordan
commented
Jun 16, 2026
andyleejordan
left a comment
Member
Author
There was a problem hiding this comment.
Bah why can't I approve this myself it's just instructions I asked it to add. Please approve @SeeminglyScience or @JustinGrote
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
PowerShellEditorServices has no
.github/copilot-instructions.md, so Copilot agents (and humans) opening PRs get no guidance on labeling. This matters for the changelog: GitHub's auto-generated release notes categorize merged PRs by theirIssue-*label, per.github/release.yml:Issue-Enhancement→ Enhancements & Features ✨Issue-Bug→ Squashed Bugs 🐛"*"catch-all → Other Changes 🙏So a PR with no
Issue-*label is silently miscategorized into "Other Changes".Ignoreexcludes a PR from the changelog, anddependabotPRs are excluded by author.What
Adds a focused "Pull Request Labels" policy stating every PR must carry at least one
Area-*label and exactly oneIssue-*label (Issue-Bug/Issue-Enhancement/Issue-Performance), withOS-*for platform-specific changes andIgnoreto exclude from release notes.It references
.github/release.ymlas the source of truth for the changelog mapping and tells readers to rungh label listfor the authoritativeArea-*set rather than hard-coding a list that will drift — so it does not duplicate existing config or CONTRIBUTING.