Contributing to SharpIppNext
First off, thank you for considering contributing to SharpIppNext! It's people like you who make the open-source community such an amazing place to learn, inspire, and create.
Getting Started
To contribute to this project, you will need:
- .NET SDK 10.0 or later.
- A C# IDE (e.g., Visual Studio 2026 or VS Code).
Clone the Repository
It is recommended to create a fork of the repository (fork button in GitHub) and clone your fork. Alternatively, you can clone the main repository directly:
git clone https://github.com/danielklecha/SharpIppNext.git
cd SharpIppNext
How to Contribute
Building the Project
You can build the project using the .NET CLI:
dotnet build --configuration Release
Running Tests
We use MSTest V2 for testing. To run all tests and collect coverage information, use:
dotnet test --configuration Release /p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat="opencover,lcov"
Please ensure all tests pass before submitting a pull request.
Code Coverage
When running tests with the coverage flags as shown above, coverage reports are generated in the TestResults/ directory.
- Local Review: You can use tools like ReportGenerator to convert the
opencoverorlcovreports into a human-readable HTML format for local review. - CI/CD Integration: Our CI pipeline automatically publishes coverage reports to Coveralls for every push and pull request.
Coding Standards
- Follow standard C# naming conventions and best practices.
- Adhere to the rules defined in the .editorconfig file.
- Keep methods focused and classes loosely coupled.
Pull Request Process
- Create a Branch: Use a descriptive name for your branch (e.g.,
feature/add-cups-operationorbugfix/fix-serialization-error). - Commit Changes: Make atomic commits with clear, descriptive messages.
- Draft Pull Request: If your work is still in progress, open a Draft Pull Request to get early feedback.
- Final Pull Request: Ensure your branch is up-to-date with
masterand all CI checks pass. - Review: At least one maintainer will review your PR before merging.
Reporting Issues
If you find a bug or have a feature request, please search the existing issues before opening a new one.
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.