Thank you for your interest in contributing to SharpConsoleUI!
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/ConsoleEx.git - Create a branch:
git checkout -b feature/your-feature - Build:
dotnet build - Test your changes by running the examples:
dotnet run --project Examples/DemoApp
- .NET 8.0 SDK or later is required
- Build the solution:
dotnet build ConsoleEx.sln - Run the demo app to verify:
dotnet run --project Examples/DemoApp
- Follow existing code style and patterns (tabs for indentation, fluent builders, etc.)
- Never use
Console.WriteLine()or any console output in library code — it corrupts the UI rendering - Use the built-in
LogServicefor debug output - Keep files under size limits (see CLAUDE.md for details)
- No magic numbers — use named constants in
Configuration/ControlDefaults.cs - Extract shared logic to helper classes rather than duplicating code
- Ensure the solution builds without errors:
dotnet build - Test your changes with the DemoApp and relevant examples
- Commit with a clear message describing what and why
- Push to your fork and open a Pull Request
- Describe your changes and link any related issues
- Keep PRs focused — one feature or fix per PR
- Include screenshots for UI changes
- Update documentation if adding new public APIs
- Add an example if introducing a new control or major feature
- Use GitHub Issues to report bugs or request features
- Include steps to reproduce for bugs
- Include your OS, .NET version, and terminal emulator
Open a GitHub Discussion or reach out to the maintainer at nikolaos.protopapas@gmail.com.