diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index cc15e12..0fb85c0 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -50,3 +50,30 @@ Commands that need user input use `InputModal` or `TwoInputModal` (in `src/modal - **The `perLine()` helper** in `case.ts` applies a function to each line independently. Use it for per-line transforms that don't need cross-line context. - **Multi-selection aware**: All commands must work with multiple simultaneous selections. Use `transformSelections()` or iterate `editor.listSelections()` in reverse. - **Obsidian API is external**: `obsidian`, `electron`, and `@codemirror/*` are externalized by esbuild — never bundle them. +- **Pull request descriptions must use the required changelog markup**: PR descriptions must contain the expected sections for the Release pipeline used to update changelog and release notes. See the following "Pull request description content" section. + +### Pull request description content + +PR descriptions must contain the expected sections for the Release pipeline used to update the changelog and release notes. Follow the [PULL_REQUEST_TEMPLATE.md](./PULL_REQUEST_TEMPLATE.md) template and fill in the description and type of change (major, minor, patch). Note that the markup comment tags (``, ``, ``, and ``) are required for the pipeline to identify the sections. The description should be concise but informative, as it will be used in the changelog and release notes. + + The type of change must be accurately indicated to ensure proper versioning. **Exactly one** of the Major/Minor/Patch checkboxes must be checked — the release workflow picks the first matching checked box (Major → Minor → Patch) and will fail to create a release if none are checked. + +Sample: + +```md +## Description + + +Fix code quality issues: sentence case, promise handling, deprecated functions, settings headings + + +## Type of Change + + + +- [ ] **Major** – Breaking change (requires a new major version bump) +- [ ] **Minor** – New feature, backward-compatible (requires a new minor version bump) +- [x] **Patch** – Bug fix or internal improvement, backward-compatible (requires a new patch version bump) + + +```