I found that when I was manually updating documentation I could never keep it perfectly in sync with the code. Now in my open source app the documentation is fully automated and generated as a part of the build process. The interactive documentation covers the app's use in a browser, command line, and static documentation is various formats.