Глобально инструменты для создания диаграмм можно поделить на два лагеря:

  • WYSIWYG - что нарисовал, то и получил;
  • Diagram as a Code/Text - текстом описываешь картинку, а по этому шаблону будет получена картинка;
  • Не буду оставлять это как бинарный список, потому что инструмент вполне может давать WYSIWYG для пользователя, а под капотом хранить текст;

Выбирая между двумя подходами лучше остановится на Diagram as a Code, потому что их можно рефакторить, да и GPT умеет их генерировать. Лично использую mermaid или excalidraw.

Diagram as a Code

  1. mermaid - js библиотека генерация диаграмм по тексту, сейчас есть более менее везде: gitlab, github, vs code, obsidian;
  2. plantuml - чуть более старый формат, который текст генерит через java server в картинку; но более навороченный;
  3. Diagrams - реальные диаграммы как код, сидишь и пишешь python;
  4. Structurizr - не берите, потому что платная и непонятно зачем;

Наверняка, есть ещё что-то, но обычно холивар идёт за mermaid (лёгкая интеграция) vs plantuml (возможность сделать библиотеки). Из этих двоих можно выбирать любой.

WYSIWYG

  1. excalidraw - js библиотека для генерации схемок по дереву, представленного в виде JSON. Самое прекрасное что можно зайти и сразу пошарить комнату с человеком p2p;
  2. whimsical - модный miro, написанный на clojure. Облачный, но работает довольно быстро;
  3. draw.io - один из первых инструментов для отрисовки, сейчас не знаю зачем его использовать;

Что дальше

context:: описание систем problem:: создание документации

Источники

Как улучшить

  • дописать секцию про висивиги