В каком формате писать документацию по программе?
Я для себя пишу документацию в Markdown формате. На работе пишу в wiki.
Плюсы Markdown формата (спойлер: большее распространение) 
1. Вы можете мини вики сделать из текстовых файлов при помощи: dynalon.github.io/mdwiki
2. Вы можете заливать Ваши статьи в Evernote
3. Гитлаб/хаб рендерит эти файлы автоматически. 
4. Чистый текст и теги, файлы получаются легкими для хранения, передачи и редактирования.
Минусы:
1. Как ни крути нужно будет привыкать писать без WYSIWYG редактора. Потому, что так удобнее
2. Сначала очень много времени тратится на оформление, по мере привыкания время сокращается.
Стройте блок схемы там, где Вам удобно, я например предпочитаю Visio со студенческой скамьи. Потом экспортируйте в картинку, удобного Вам формата. Прикрепляйте к MD статье.
1. Для Документирования JS-кода: documentation.js.org
2. Для блок-схем (включая погружение drill-down по клику в другие связанные схемы) https://www.edrawsoft.com/