Contributing to Granit
Thank you for your interest in contributing to Granit. This section covers everything you need to get started as a contributor to the framework.
Before contributing, please read the Code of Conduct (Contributor Covenant 2.1). We are committed to providing a welcoming and inclusive experience for everyone.
How to contribute
Section titled “How to contribute”Reporting bugs
Section titled “Reporting bugs”Open an issue using the Bug template. Include:
- A clear, concise description of the problem
- Steps to reproduce
- Expected vs actual behavior
- .NET version and OS
Suggesting features
Section titled “Suggesting features”Open an issue using the Feature template. Describe:
- The use case and motivation
- How it fits into Granit’s modular architecture
- Any alternatives you considered
Submitting changes
Section titled “Submitting changes”- Fork the repository
- Create a branch from
develop(see Git Workflow) - Write your code following the Coding Standards
- Write or update tests (see Testing Guide)
- Run the Definition of Done checks
- Commit using Conventional Commits
- Open a merge request against
develop
Section contents
Section titled “Section contents”- Development Setup — prerequisites, build, test, project structure
- Coding Standards — C# style, naming, architecture conventions
- Module Structure — how to create a new Granit module
- Testing Guide — xUnit, Shouldly, NSubstitute, Bogus
- Definition of Done — blocking checklist before any push
- Git Workflow — branches, commits, MR targets, releases
License
Section titled “License”By contributing, you agree that your contributions will be licensed under the Apache License 2.0.