Repository navigation
Contributing
Be respectful and constructive. Harassment or discriminatory behavior is not tolerated.
- Fork the repository
- Create a branch:
feature/your-feature - Make your changes
- Run the build and verify nothing is broken
- Open a pull request
- The Xcode project is generated with XcodeGen — edit
project.yml, not the.xcodeproj - Build the
MacOSCleanerscheme and run the app - Keep changes focused: one feature per PR
- Follow the existing code style (Swift 6, actors for shared state, no global mutable state)
Check the issues page and the Roadmap for open work. Good first issues are labeled accordingly.
The repository includes a unit test target (MacOSCleanerTests). Run it with ⌘U in Xcode. Covered areas include cleanup options and trash behavior, safety path validation, process safety policy, uninstaller scanning, and localization completeness. Also verify manually:
- Run a cleanup scan and confirm results are grouped and risk-rated correctly
- Uninstall a test app and confirm residual detection
- Run a duplicate scan and confirm staging/hashing progress
Translations live in Resources/ (.lproj / Localizable.strings). A localization completeness test guards against missing keys. Add or fix strings in your language; a PR with a completed locale is always welcome.
The project is dual-licensed: GPL-3.0 + Commons Clause 1.0. See LICENSE.
Before your contribution can be merged you must sign the Contributor License Agreement (CLA.md). By signing it you agree to grant the project the rights needed to distribute your changes under the project license, and confirm you own the work you contribute.
Home · GitHub · Issues · Releases · Discussions
MacOSCleaner
Tools
System
Reference
Project