Thanks for your interest in contributing to Ecowitt Controller.
Requires .NET 10 SDK.
cd src
dotnet build Ecowitt.Controller.sln
dotnet test EcoWitt.Controller.Tests/EcoWitt.Controller.Tests.csprojTo run the application locally you need an MQTT broker and a valid appsettings.json (see README).
dotnet run --project Ecowitt.Controller/Ecowitt.Controller.csproj- Fork the repository and create a branch from
main - Make your changes and ensure the build passes with zero warnings
- Run the test suite and confirm all tests pass
- Open a pull request against
main
Keep PRs focused on a single concern. If you're fixing a bug and spotted an unrelated issue, submit them separately.
- Follow the existing conventions in the codebase
- Use structured logging templates with Serilog (no string interpolation)
- Prefer partial classes for service separation (consumers, publishers, events)
- No warnings in the main project -- treat warnings as errors
Open an issue. For bugs, include the log output (set Serilog.MinimumLevel to Debug), your configuration (redact credentials), and the firmware version of your gateway.
By contributing, you agree that your contributions will be licensed under the MIT License.