Thanks for contributing to KeelMatrix.Redaction.
- Search existing issues and pull requests to avoid duplicating work.
- Read the Code of Conduct.
- For security issues, use the private reporting guidance in SECURITY.md instead of opening a public issue.
- Fork the repository and create a feature branch from
main. - Build the repo with
dotnet build KeelMatrix.Redaction.slnx. - Run the test suite with
dotnet test tests/KeelMatrix.Redaction.Tests/KeelMatrix.Redaction.Tests.csproj. - Pack the library with
dotnet pack src/KeelMatrix.Redaction/KeelMatrix.Redaction.csproj -c Release --output ./artifacts/packages. - Keep the root
keelmatrix.website.jsonclassification and package source sentinels aligned, then validate withpwsh -NoProfile -File ./build/Validate-WebsiteMetadata.ps1 -PackagePath ./artifacts/packages. - If you change the public API of a packable project, update
PublicAPI.Shipped.txtandPublicAPI.Unshipped.txtin the affected project. - Keep README and package metadata changes aligned with user-facing behavior.
- Open the pull request against
main. - Describe the problem, the change, and any user-visible impact.
- Reference related issues when relevant.
- Keep the diff focused. Separate unrelated cleanup into a different pull request.
This repository uses Roslyn Public API Analyzers to lock down the surface area. When you add or change a public member in a packable project:
- Make your code changes.
- Update
PublicAPI.Shipped.txtandPublicAPI.Unshipped.txtin the affected project. - Review the diff and commit. When a release is cut, items from Unshipped can be moved to Shipped.
Tips
- We keep a single
PublicAPI.Shipped.txt/PublicAPI.Unshipped.txtpair per project across TFMs.- If a member is TFM-specific, append a trailing comment to its line:
// TFM: net8.0or// TFM: netstandard2.0.