C4風の記法で、コードベースのソフトウェアアーキテクチャ図を生成するモデリング言語とツールチェーン。
plantuml-stdlib/C4-PlantUML
PlantUMLでソフトウェアアーキテクチャ図をテキストコードとして作成できる、C4モデル用マクロライブラリです。
代替できる製品:Lucidchart
Visio
- スター
- 7,441
- フォーク
- 1,168
- 未解決の Issue
- 0
- 最終コミット
- 9 日前
これは何?
C4-PlantUMLは、ソフトウェアアーキテクチャ向けのC4モデルを実装するPlantUMLのマクロとステレオタイプのセットです。手作業でボックスを描く代わりに、人、システム、コンテナ、コンポーネント、デプロイメントノードを短いテキストファイルに記述すると、PlantUMLが図を生成します。これにより、アーキテクチャ図をコードと一緒にバージョン管理し、レビューしやすくなります。
System Context、Container、Component、Dynamic、Deployment、およびC4スタイルのSequence図用に、それぞれ個別のincludeファイルを用意しています。各ファイルには、一般的な要素や外部要素、データベース、キュー、境界、方向を任意に指定できる関係を表すマクロが含まれます。さらに、スプライトやアイコン、要素へのリンク、自動生成される凡例付きのカスタムタグ、レイアウトオプションにも対応しています。
このプロジェクトはオープンソースで、プラットフォームに依存しません。VS Code用のスニペットとIntelliJ用のライブテンプレートも付属しています。図はローカルのPlantUML jarまたはPlantUML Webサーバーで生成でき、ライブラリはリポジトリのURLから、あるいはPlantUMLに同梱された標準ライブラリから読み込めます。
主な機能
- 01System、Container、Component、Dynamic、Deployment、およびC4スタイルのSequence図用マクロ。
- 02人、システム、コンテナ、データベース、キュー、外部要素の各種要素。
- 03方向を指定できる関係マクロと、境界によるグループ化。
- 04アイコンスプライト、要素リンク、自動生成される凡例付きのカスタムタグ。
- 05VS Code用スニペットとIntelliJ用ライブテンプレートによるエディタサポート。
ユースケース
- 初期設計のセッションでソフトウェアアーキテクチャを文書化する。
- 説明対象のコードと同じリポジトリでアーキテクチャ図を管理する。
- システムのコンテキストやコンテナ構成を、専門知識のないステークホルダーに伝える。
クイックスタート
- 1
.pumlファイルにC4_Containerライブラリを含めます
!include <C4/C4_Container> - 2
@startuml/@endumlの間に、C4の要素と関係をプレーンテキストで記述します
- 3
PlantUMLで図をレンダリングします。たとえばjarファイルを使用します
java -jar plantuml.jar -DRELATIVE_INCLUDE="." ...
使う前に知っておきたいこと
- 図のレンダリングにはPlantUMLが必要なため、表示するにはJavaまたはPlantUMLサーバーが必要です。
トピック
よくある質問
- C4-PlantUML とは?
- PlantUMLでソフトウェアアーキテクチャ図をテキストコードとして作成できる、C4モデル用マクロライブラリです。 C4-PlantUMLは、ソフトウェアアーキテクチャ向けのC4モデルを実装するPlantUMLのマクロとステレオタイプのセットです。手作業でボックスを描く代わりに、人、システム、コンテナ、コンポーネント、デプロイメントノードを短いテキストファイルに記述すると、PlantUMLが図を生成します。これにより、アーキテクチャ図をコードと一緒にバージョン管理し、レビューしやすくなります。
- C4-PlantUML は無料で使えますか?ライセンスは?
- C4-PlantUML は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- C4-PlantUML は今もメンテナンスされていますか?
- 活発にメンテナンス中。C4-PlantUML の最終コミットは 2026年10月13日 です。
- C4-PlantUML は何に使えますか?
- 初期設計のセッションでソフトウェアアーキテクチャを文書化する。 説明対象のコードと同じリポジトリでアーキテクチャ図を管理する。 システムのコンテキストやコンテナ構成を、専門知識のないステークホルダーに伝える。
- C4-PlantUML のインストール方法は?
- .pumlファイルにC4_Containerライブラリを含めます: !include <C4/C4_Container> @startuml/@endumlの間に、C4の要素と関係をプレーンテキストで記述します PlantUMLで図をレンダリングします。たとえばjarファイルを使用します: java -jar plantuml.jar -DRELATIVE_INCLUDE="." ...
- C4-PlantUML はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/plantuml-stdlib/C4-PlantUML
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
プレーンテキストの記述から、シーケンス図やクラス図、アクティビティ図、状態遷移図、ガントチャートなどを生成します。
Diagram as Code:Pythonで記述してクラウドやシステムのアーキテクチャ図を作成。AWS、Azure、GCP、Kubernetesなどのアイコンを利用できます。
自然言語やTerraform、Kubernetes、SQL、OpenAPIなどの実システム情報から、編集可能なdraw.ioのアーキテクチャ図を生成するエージェントスキル。
AIコーディングツールがプロジェクトの構造や制約、変更範囲をHTMLマップにし、編集前に確認を求めるエージェントスキル。