π€ Contributing
GenDI is open source and community-driven. Every improvement β no matter how small β makes the project stronger and keeps the .NET ecosystem moving forward.
π Why contribute?β
- π― Shape the future of attribute-first DI in .NET
- π Get early access to features and influence the roadmap
- π Build a public track record in a growing open-source project
- π Help .NET developers escape constructor boilerplate every day
π οΈ What you can contributeβ
You don't need to write a source generator to make a difference. Here are great entry points:
| Area | Examples |
|---|---|
| π Bug reports | Unexpected generator output, edge-case attributes |
| π Documentation | Typos, clearer examples, translations |
| β Tests | New edge cases, integration scenarios |
| π Features | Items on the Roadmap |
| π Translations | Portuguese, Spanish, German docs |
| π‘ Ideas | Open a Discussion with your proposal |
π§ Development baselineβ
- Build and test locally:
dotnet build GenDI.slnx
dotnet test GenDI.slnx
- If website files changed, validate docs build:
cd website
npm ci
npm run build
- Keep changes scoped and consistent with repository architecture:
- π·οΈ attribute-first model
- β‘ generated registration/activation path
- π NativeAOT-aware behavior
π Pull request guidanceβ
- π Describe behavior changes clearly.
- π Include updated documentation for public-facing changes.
- β Keep tests aligned with new behavior.
β€οΈ Sponsor GenDIβ
GenDI is free, open-source, and maintained in personal time. If your team or product benefits from the project β whether that's cleaner code, faster startups, or saved engineering hours β please consider sponsoring development.
Sponsorship directly funds:
- π§ Continued maintenance and bug fixes
- π New features from the roadmap
- π Documentation improvements and community support
- π¦ Longer-term NuGet package hosting and tooling
Even a one-time contribution goes a long way. For companies shipping software built with GenDI, a recurring sponsorship ensures the project stays healthy and keeps getting better.
Thank you to everyone who uses, shares, or contributes to GenDI. π