プログラマーは図を書くのが嫌いです(たぶん)。少なくともドローソフトウェアを使って書くのは嫌がるでしょう。メンテナンスしづらいですし、コードと図の乖離が発生しがちです。せめてテキストで書いて、自動的に図にしてくれるものであれば、元のテキストを自動生成する方法が選べたり、バージョン管理で差分が取れるようになります。 そんなことを考える方達のためのソフトウェアがKrokiです。様々なテキスト変換ソフトウェアに対応したWeb APIサーバです。

Krokiの使い方

KrokiはBlockDiag、C4、Ditaa、Erd、GraphViz、Mermaid、Nomnoml、PlantUML、SvgBobそしてUMLetなどを一つのサーバで扱えるようにした画像生成サーバです。

例えばこんな感じ。

さらにフローチャートも。

シーケンス図。

アクティビティ図。

ネットワーク。

こんな派手なものも。

クラス。

複雑なノード同士の関連を現した図。

別なシーケンス図。

ユースケース。

こちらもユースケース。

アスキーアート風にサーバの接続を表現しています。

まさにアスキーアート。

より複雑な関連の表現にも。

これをビジュアル的にメンテナンスするのは大変ですが、テキストであればできそうです。

これはXMLをベースにしているようです。

Krokiは殆ど機能はありません。すでにあるアスキーアートから画像を生成するソフトウェアにデータを渡し、その結果を表示してくれる仕組みです。しかしKrokiを一つ立てておくだけで、様々なソフトウェアにまとめて対応できるのはとても便利です。社内に一つ立てておくと使い勝手が良さそうです。

KrokiはJava製のオープンソース・ソフトウェア(MIT License)です。

Kroki! yuzutech/kroki: Convert plain text diagrams to images !