-
Notifications
You must be signed in to change notification settings - Fork 2
Contributing
Thank you for your interest in contributing to Purview Telemetry Source Generator!
-
.NET 10 SDK (pinned via
global.json) - Bun — for package management and build scripts
- just — command runner
git clone https://github.com/kjldev/purview-telemetry-sourcegenerator
cd purview-telemetry-sourcegenerator
bun install
just build
just test| Command | Description |
|---|---|
just build |
Build the source generator and integration tests |
just test |
Run the 282 integration tests |
just format |
Format code according to .editorconfig rules |
just changeset |
Create a changeset for your changes |
just changeset-status |
Show pending changesets |
- Fork the repository and create a feature branch
- Make your changes
- Run
just format && just build && just testto verify - If your change affects users (new feature, bug fix, deprecation), run
just changesetto describe it - Open a PR to
main
Every PR that changes user-facing behaviour must include a changeset. A changeset is a small markdown file that describes what changed and what kind of version bump it warrants (patch / minor / major).
Create one with:
just changesetThis opens an interactive prompt — select the bump type and write a one-line summary. The file is committed with your changes.
PRs without a changeset will fail the Changeset Check status check. If your PR genuinely needs no release note (docs-only, CI fixes, dependency bumps), add the skip-changeset label.
Releases are fully automated. Once your PR is merged:
- The changeset bot creates (or updates) a Version Packages PR
- Merging the Version PR triggers the CD pipeline
- The pipeline builds, tests, packs, and publishes a GitHub Release with NuGet artifacts
See docs/release-process.md for the full release process guide, including how to set up secrets and GitHub rulesets for your own fork or derived repository.
Integration tests use Verify for snapshot testing. If your change modifies generated code:
- Run
just test— tests will fail with*.received.*diff files - Review the diffs carefully
- Accept correct snapshots by copying
*.received.*→*.verified.*(or use the Verify IDE extension)
Never manually edit *.verified.* files — they are machine-generated only.
- C# is formatted with CSharpier — run
just formatbefore committing - Only comment code that needs clarification; avoid noise comments
- Follow existing patterns in the codebase
Important
Consider helping children around the world affected by conflict. You can donate any amount to War Child here - any amount can help save a life.
Purview Telemetry Source Generator v4.0.0-prerelease.1 | Home | Getting Started | FAQ | Breaking Changes | GitHub