Skip to content

Commit b1a2ab8

Browse files
authored
Add Copilot instructions for PR labeling (#5532)
* Initial plan * Add Pull Request Labels section to Copilot instructions * Add Issue-Performance category to release.yml --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
1 parent 9e46c55 commit b1a2ab8

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

‎.github/copilot-instructions.md‎

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,39 @@ cloned as a sibling and built before `npm run compile` will succeed. For cross-r
5555
plugin. Use `import x = require("x")` for Node/VS Code built-ins.
5656
- **File headers**: Every source file starts with `// Copyright (c) Microsoft Corporation.`
5757
and `// Licensed under the MIT License.`
58+
59+
## Pull Request Labels
60+
61+
Every pull request **must** be labeled before it is opened so it is triaged
62+
correctly and lands in the right changelog section.
63+
64+
Each PR requires:
65+
66+
- **At least one `Area-*` label** describing the part of the codebase it touches
67+
(e.g. `Area-Debugging`, `Area-IntelliSense`, `Area-Workspaces`,
68+
`Area-Documentation`). This is used for triage and filtering.
69+
- **Exactly one `Issue-*` label** describing the kind of change:
70+
- `Issue-Bug` — a bug fix.
71+
- `Issue-Enhancement` — a new feature or changed behavior.
72+
- `Issue-Performance` — a performance improvement.
73+
74+
The `Issue-*` label is not optional: GitHub's auto-generated release notes use it
75+
to pick the changelog category. See [`.github/release.yml`](./release.yml) for the
76+
authoritative mapping (`Issue-Enhancement` → "Enhancements & Features ✨",
77+
`Issue-Bug` → "Squashed Bugs 🐛"). Any PR **without** an `Issue-*` label falls
78+
through the `"*"` catch-all into "Other Changes 🙏" and is silently
79+
miscategorized, so always set one correctly.
80+
81+
Additionally:
82+
83+
- Add the relevant **`OS-*` label** (`OS-Windows`, `OS-macOS`, `OS-Linux`) when a
84+
change is platform-specific.
85+
- Use the **`Ignore`** label only for changes that should be excluded from the
86+
release notes entirely (e.g. pure CI, test, or docs chores the maintainers do
87+
not want in the changelog). `.github/release.yml` excludes this label from the
88+
changelog.
89+
90+
The full, authoritative set of labels drifts over time — do not hard-code it
91+
here. List the current labels with `gh label list --repo PowerShell/vscode-powershell`
92+
or the repo's [Labels page](https://github.com/PowerShell/vscode-powershell/labels)
93+
and pick the closest matches.

‎.github/release.yml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ changelog:
1111
- title: Squashed Bugs 🐛
1212
labels:
1313
- Issue-Bug
14+
- title: Performance Improvements ⚡
15+
labels:
16+
- Issue-Performance
1417
- title: Other Changes 🙏
1518
labels:
1619
- "*"

0 commit comments

Comments
 (0)