How to Contribute
Contributions to Bulk Crap Uninstaller are welcome! Whether you’re fixing bugs, adding features, improving documentation, or translating the interface, your help is appreciated.Ways to Contribute
Code Contributions
Submit bug fixes and new features via pull requests
Translations
Help translate BCUninstaller into your language
Bug Reports
Report issues with detailed reproduction steps
Feature Requests
Suggest new features and improvements
Filing Bug Reports
When reporting a bug, please include:- Clear description of the problem
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- System information (Windows version, BCU version)
- Screenshots or logs if applicable
Where to Report
GitHub Issues
Create a new issue on the GitHub repository
Anonymous Feedback
Use the feedback form if you prefer anonymous reporting
Suggesting Features
Feature suggestions follow the same process as bug reports:- Search existing issues to avoid duplicates
- Create a new issue with a clear description
- Explain the use case and benefits
- Provide examples if applicable
Well-explained suggestions with clear use cases are more likely to be implemented.
Submitting Code
The best way to contribute code is through pull requests on GitHub.Before You Start
Set Up Your Environment
Follow the building from source guide to set up Visual Studio and compile the project.
Pull Request Guidelines
Keep PRs Focused
Limit each pull request to a single bug fix or single feature. This makes reviewing, testing, and merging much easier.Create separate branches and PRs for different changes.
Coding Standards
When contributing code, please follow these guidelines:- Match existing code style - Follow the formatting and naming conventions used in the codebase
- Write clear commit messages - Describe what changed and why
- Comment complex logic - Add comments explaining non-obvious code
- Test your changes - Ensure your code works as expected
- Update documentation - If your changes affect user-facing features
Submitting Your Pull Request
Create Pull Request
- Go to the original repository on GitHub
- Click “New Pull Request”
- Select your fork and branch
- Provide a clear description of your changes
- Reference any related issues
Development Environment Setup
Visual Studio Requirements
Recommended Setup
- Visual Studio 2019 or 2022
- .NET desktop development workload
- Desktop development with C++ workload
- Class Designer component (optional)
First Build
Testing
The solution includes unit tests in the BulkCrapUninstallerTests project.Some tests require:
- Running as 64-bit
- Specific applications installed
- Administrator privileges
Code Architecture Overview
Understanding the codebase structure will help you contribute effectively:Main Components
- User Interfaces: BulkCrapUninstaller (GUI) and BCU-Console (CLI)
- Core Libraries: UninstallTools (main logic), KlocTools (utilities)
- Helper Applications: SteamHelper, WinUpdateHelper, StoreAppHelper, OculusHelper, ScriptHelper
- Are separate executables
- Communicate via CLI
- Can be used independently
- Decouple specialized code from the main application
Learn More
Read the full architecture documentation for detailed information about the codebase structure.
What Makes a Good Contribution?
Excellent Contributions
✅ Bug fixes with clear reproduction cases ✅ Well-tested new features ✅ Performance improvements with benchmarks ✅ Focused pull requests (one issue per PR) ✅ Clear documentation updates ✅ Code that follows existing patternsThings to Avoid
❌ Large refactoring without discussion ❌ Multiple unrelated changes in one PR ❌ Changes without testing ❌ Breaking existing functionality ❌ Code style that doesn’t match the projectGetting Help
If you have questions about contributing:- Open a discussion on GitHub
- Comment on related issues
- Review existing pull requests for examples
Recognition
All contributors are valued! Your contributions will be:- Credited in release notes
- Listed in the project’s contributor list
- Appreciated by the BCUninstaller community
Donation
If you’d like to support the project financially:Donate
Only donate using official donate links. Check the main window of BCUninstaller or the README for official links.
Related Resources
Building from Source
Set up your development environment
Architecture
Understand the codebase structure
Translations
Help translate BCUninstaller
