diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..ad3c25c --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,63 @@ +# Pull Request + +## Description + + + +## Type of Change + + + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] Documentation update +- [ ] Code quality improvement + +## Related Issues + + + +Closes # + +## Pre-Submission Checklist + +Before submitting this pull request, ensure you have completed the following: + +### Build and Test + +- [ ] Code builds successfully: `dotnet build --configuration Release` +- [ ] All tests pass: `dotnet test --configuration Release` +- [ ] Code produces zero warnings + +### Code Quality + +- [ ] Code formatting is correct: `dotnet format --verify-no-changes` +- [ ] New code has appropriate XML documentation comments +- [ ] Static analyzer warnings have been addressed + +### Quality Checks + +Please run the following checks before submitting: + +- [ ] **Spell checker passes**: `cspell "**/*.{md,cs}"` +- [ ] **Markdown linter passes**: `markdownlint "**/*.md"` +- [ ] **YAML linter passes**: `yamllint '**/*.{yml,yaml}'` + +### Testing + +- [ ] Added unit tests for new functionality +- [ ] Updated existing tests if behavior changed +- [ ] All tests follow the AAA (Arrange, Act, Assert) pattern +- [ ] Test coverage is maintained or improved + +### Documentation + +- [ ] Updated README.md (if applicable) +- [ ] Updated ARCHITECTURE.md (if applicable) +- [ ] Added code examples for new features (if applicable) +- [ ] Updated requirements.yaml (if applicable) + +## Additional Notes + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9f67923..0dad06f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -118,6 +118,9 @@ cspell "**/*.{md,cs}" # (Optional) Run markdown linter if you modified markdown files markdownlint "**/*.md" + +# (Optional) Run YAML linter if you modified YAML files +yamllint '**/*.{yml,yaml}' ``` All builds must complete with zero warnings, and all tests must pass.