Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/ADDON_PR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: NVDA Add-on Feature / Fix PR
about: Use this template for PRs that modify add-on functionality, features, bug fixes, or translations.
title: ''
labels: ''
---
Comment on lines +1 to +6

## Summary
<!-- Describe the changes made in this PR and why they are necessary. -->

## Related Issue
<!-- Link to related issue(s), e.g., Fixes #123 -->

## Type of Change
- [ ] Bug fix (fixes an issue without breaking existing API/behavior)
- [ ] New feature (adds new capability to the add-on)
- [ ] Performance improvement
- [ ] Code refactoring (no functional changes)
- [ ] Dependency update / CI pipeline tweak

## NVDA Testing & Verification Environment
- **Minimum NVDA Version Tested:** <!-- e.g. 2024.1 -->
- **Latest NVDA Version Tested:** <!-- e.g. 2026.2 / latest alpha -->

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"latest alpha" is never useful, we always need version numbers

- **OS / Platform:** Windows 10 / 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it might be worth asking for full windows version here including version number


### Screen Reader & Accessibility Impact
- [ ] **Speech Output**: Verified speech feedback in affected NVDA modes/dialogs.
- [ ] **Braille Output**: Checked braille output/formatting.
- [ ] **Gestures & Shortcuts**: Verified keyboard shortcuts and NVDA input gestures.

## Add-on Manifest & Metadata Verification
- [ ] **`buildVars.py`**: Verified version strings, `minimumNVDAVersion`, and `lastTestedNVDAVersion`.
- [ ] **`changelog.md`**: Added a description of the change under the unreleased/current section.
- [ ] **i18n / Translatable Strings**: Ensured all user-visible strings use gettext (`_()`), and updated `.pot` file via `scons pot` if new strings were added.

## Local Quality Checks
- [ ] Ran `ruff check .` / `prek` cleanly.
- [ ] Ran `pytest` with 100% passing tests.
- [ ] Tested add-on bundle installation locally (`scons`).
Comment on lines +36 to +39

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

similarly I think "Testing strategy" is more useful than "local quality checks". most of these checks would be automated via ci/cd

36 changes: 36 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/TEMPLATE_PR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please also add a symlink from PULL_REQUEST_TEMPLATE.md to this file, and documentation encouraging add-on repo owners to update the symlink to the other template

name: Add-on Template Infrastructure PR
about: Use this template for PRs that modify the AddonTemplate repository structure, build scripts, CI/CD, tooling, or documentation.
title: '[Template] '
labels: 'template'
Comment on lines +4 to +5

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this work with PR templates? how?

---

## Summary of Template Changes
<!-- Describe the changes made to the AddonTemplate repository structure, build scripts, workflows, or documentation and why they are necessary. -->

## Related Issue
<!-- Link to related issue(s), e.g., Fixes #123 -->

## Type of Change
- [ ] Build System / SCons updates (`sconstruct`, `site_scons/`)
- [ ] CI/CD & GitHub Actions (`.github/workflows/`, `.github/scripts/`)
- [ ] Development Dependencies & Tooling (`pyproject.toml`, `uv.lock`, `prek.toml`)
- [ ] Template Documentation & Boilerplate (`readme.md`, `docs/`, `manifest.ini.tpl`)
- [ ] Bug fix in template scripts/code
- [ ] Refactoring / Code Quality improvement

Comment on lines +14 to +21

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

most of these are just listing files in the diff, which can be checked by looking at the diff

Suggested change
## Type of Change
- [ ] Build System / SCons updates (`sconstruct`, `site_scons/`)
- [ ] CI/CD & GitHub Actions (`.github/workflows/`, `.github/scripts/`)
- [ ] Development Dependencies & Tooling (`pyproject.toml`, `uv.lock`, `prek.toml`)
- [ ] Template Documentation & Boilerplate (`readme.md`, `docs/`, `manifest.ini.tpl`)
- [ ] Bug fix in template scripts/code
- [ ] Refactoring / Code Quality improvement

## Downstream Add-on Impact
- [ ] **No Breaking Changes**: Existing add-ons created from this template can merge upstream changes without issue.
- [ ] **Breaking / Migration Needed**: Requires manual migration steps or configuration updates for existing add-ons (describe below).

### Migration / Upgrade Instructions (if applicable)
<!-- Detail any steps downstream maintainers must take to adopt these template changes. -->

## Local Quality Checks & Verification

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this section should be broader: just a "Testing strategy" section to cover how each PR is tested

- [ ] Ran `scons` and verified the add-on package builds cleanly.
- [ ] Ran `prek` / `ruff check .` with zero lint errors.
- [ ] Ran `pytest` with all tests passing.
- [ ] Verified CI workflow script behavior locally or via test workflow run.

## Documentation & Changelog

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's no changelog

- [ ] Updated `readme.md` or developer documentation (if applicable).
Comment on lines +35 to +36

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Documentation & Changelog
- [ ] Updated `readme.md` or developer documentation (if applicable).