Contributing a cleaner

Write your own cleaners to use yourself and to share with others. These "cleaners" define which files to delete (or vacuum, for example). BleachBit includes one cleaner each for Firefox, Internet Explorer, Adobe Reader, APT, and so on.

Writing the cleaner

Follow the CleanerML documentation for technical instructions on writing the cleaner.

Testing the cleaner

Backup any files which may be deleted before testing. Then, use this checklist for testing your cleaner:

  • BleachBit should not delete settings that the user may regret.
  • BleachBit is not an uninstaller.
  • Each option accurately describes what it will delete. For example, an option labeled "logs" should not delete cache.
  • The descriptions are generic and reuse strings, so translators have less work. For example, Firefox should simply be labeled "Web browser" instead of "A popular, fast, free web browser." Look at other cleaners to see which strings they use.
  • On Windows, the cleaner should use $APPDATA, $USERPROFILE, $WINDIR, or $PROGRAMFILES but never ~.

Submitting the cleaner

If you wish to share the cleaner with others, submit it for review:

  1. Do not submit cleaners as your own in which you copied and pasted other's work. You must own the copyright.
  2. You must license the cleaner under the GNU General License Version 3 or later.
  3. Open a "bug" ticket on Launchpad. (The name "bug" is misleading because it's used for new features too.)
  4. Submit the cleaner to cleanerml on GitHub as an issue (with a link to a gist) or pull request.
  5. Identify the platform you tested (for example, Ubuntu 9.04 or Windows Vista).
  6. Identify the application version tested (for example, Firefox 3.0.10).
  7. (optional) Describe how much space each option cleans. For example, "the log option deleted 2KB."
  8. (optional) Identify the home page of the application. (For some applications, it is unclear.)
  9. Attach the cleaner. If changes an existing file, use 'svn diff' format. If it is a whole new file, simply attach the XML.
  10. Add the tag new-cleaner.

Then, wait for a review. Until the final publication, remember you can add the cleaner to your own collection for immediete use in BleachBit.

Reviewing a cleaner

Help review another person's cleaner submission. Because there are so many applications, versions of applications, differences in operating systems, etc., the help of the community is essential.

Look in Launchpad for new cleaners GitHub and review them:

  • Be polite.
  • Review the testing guidelines (above).
  • Check each option individually.
  • On the Launchpad in the existing bug report, document your results. Example reviews:
    • "I tested gFTP 2.0.18 on Fedora 10. The cleaner removed 2KB of logs and 500KB of cache. It did not remove any settings. I recommend changing the description from "FTP client" to "File transfer client," so it shares the same description with Azureus for ease of translating. Otherwise I recommend the cleaner for publication."
    • "I tested gFTP 2.0.18 on Fedora 10. It deleted my settings."