AIニュースまとめ ブログへ戻る
AIニュースまとめへ

LikeC4を解説:コードで管理するArchitecture as Codeの実力

LikeC4の専用DSL、ビュー生成、静的サイト、各種エクスポート、MCP/Agent Skills、導入条件と制限を一次情報から整理します。

LikeC4は、ソフトウェアアーキテクチャを専用DSLで記述し、図・静的サイト・埋め込みコンポーネント・各種エクスポートへ展開するArchitecture as Codeツールです。2026年7月26日のGitHub Trendingでは5,122 stars、当日337 stars増として掲載され、開発も継続しています。図を手作業で更新する代わりに、モデルをGitでレビューし、複数のビューを同じ情報源から生成したいチームに向きます。

LikeC4が解決すること

アーキテクチャ図は、実装変更に追従できなくなると急速に価値を失います。LikeC4ではactor、system、componentなどの要素と関係をテキストで定義し、そのモデルから必要なビューを生成します。

画像ファイルを直接編集する方式と違い、変更内容をGitのdiffとしてレビューできます。構成要素の名称変更や依存関係の追加が、画像上の微妙な差ではなくコード差分として残るのが利点です。

一方、既存コードを自動解析して正しい構成図を完成させるツールではありません。チームがアーキテクチャを明示的にモデル化し、実装と一緒に保守する運用が前提です。

専用DSLとビュー

LikeC4はC4 Modelの考え方を取り入れつつ、独自DSLでモデルを記述します。要素の階層、関係、タグ、スタイルなどを定義し、同じモデルから用途別のビューを作れます。

ビューではpredicateを使って表示対象を選べるため、「このシステムと直接関係する要素だけ」「特定タグの要素を除外」といった切り出しが可能です。全体図を複製して個別に編集する必要が減り、モデルと表示方法を分離しやすくなります。

ただし、この柔軟性は学習コストにもなります。Mermaidの簡単なflowchartだけで足りる場面では、LikeC4のmodel/view概念を導入する方が重くなる可能性があります。

CLIでできること

公式CLIでは開発サーバー、静的サイトbuild、検証、format、複数形式へのexportが用意されています。

出力先にはPNG、JPEG、JSON、Mermaid、Graphviz Dot、D2、PlantUML、DrawIOなどがあります。React componentやWeb Componentとして生成し、既存のドキュメントサイトや社内ポータルへ埋め込む経路も用意されています。

設計資料をLikeC4専用画面だけへ閉じ込めず、既存の文書フローへ持ち出せる点は実務上扱いやすい部分です。ただし出力形式によって表現できる情報やレイアウトは異なるため、完全に同じ見た目を期待すべきではありません。

CIでvalidateとformatを使う

Architecture as Codeの利点は、CIへ検証を組み込めることです。LikeC4のvalidateやformatを使えば、壊れたDSLや意図しない形式差分をPull Requestの段階で検出できます。

設計図を「誰かが気づいた時に更新するファイル」から、コード変更と一緒にレビューする成果物へ近づけられます。

ただしCIが検証できるのはモデルの構文や整合性であり、現実のシステムとモデルが一致していることまで自動保証するものではありません。実装変更時にモデルを更新するルールは別途必要です。

MCPとAgent Skills

LikeC4はAIツール向けにMCP serverとAgent Skillsを提供しています。AI agentからarchitecture modelを参照し、既存要素や関係を確認しながら変更案を扱う運用を想定しています。

これは、AIへ毎回巨大な設計文書を説明する代わりに、構造化されたモデルをツール経由で参照させる用途で有効です。コード変更の前に関連システムを確認したり、新しいcomponentをどこへ追加するか検討したりする補助になります。

一方、AIが生成したモデルの正確性をLikeC4が保証するわけではありません。存在しない依存関係や誤った責務をAIが追加する可能性は残るため、人間のレビュー対象です。

導入条件

npm、pnpm、yarn、bunなどJavaScript系のパッケージ管理から導入できます。2026年7月26日に確認したlikec4 v1.59.2はNode.js 22.22.3以上を要求します。

比較的新しいNode.jsが必要なので、Node 18や20で固定された社内環境へそのまま追加できない場合があります。CI imageや開発端末のruntime更新が先に必要になる可能性があります。

まず試すだけなら公式PlaygroundやVS Code/Open VSX拡張から始める経路もあります。

大規模な図ではGraphvizも確認

公式CLIドキュメントでは、大規模図についてbundled WASMだけでなくローカルGraphvizを使う選択肢が案内されています。要素数や関係が増えるとlayout処理の条件が変わるためです。

またDrawIO exportなど、一部の出力ではlayout済みの情報が必要です。CLIで形式名を指定すれば全ケースが同じ条件で変換できるわけではありません。

Structurizr DSLとの違い

Structurizr DSLもC4 Modelをコードとして管理する代表的な選択肢です。LikeC4は特定の固定view typeへ強く寄せず、predicateで表示対象を構成し、独自notationやelement type、任意階層を扱える柔軟性を特徴としています。

既にStructurizrを中心としたC4運用が定着しているチームでは、移行コストに見合うか確認が必要です。一方、フロントエンドへの埋め込み、複数export、AIツール連携まで同じtoolchainで扱いたい場合はLikeC4の構成が候補になります。

MermaidやD2との違い

MermaidやD2は汎用的なdiagram記法として使いやすく、Markdown内に小さな図を置く用途では非常に軽量です。

LikeC4は単なる描画記法より、software architectureの「モデル」を中心に置きます。複数ビュー、要素間の関係、validation、静的サイト、埋め込みを一体で管理したい場合に強みが出ます。

小規模なフロー図を数枚だけ作る用途なら、Mermaidの方が導入負荷は小さいでしょう。

制限と注意点

LikeC4を採用すると、独自DSLとmodel/viewの概念をチームで学ぶ必要があります。アーキテクチャ変更時にモデルも更新しなければ、コード化していても情報は古くなります。

Node.jsの要求バージョンも確認が必要です。さらにAI/MCP連携は便利ですが、設計の妥当性を自動判定する仕組みではありません。

図のレイアウトやexportも、要素数と形式によって追加ツールや調整が必要になる場合があります。

向いているチーム

LikeC4が特に合うのは、複数サービスやcomponentを持ち、設計変更をPull Requestでレビューしたいチームです。設計資料を静的サイトとして共有したい、Reactへ埋め込みたい、AI agentにも同じarchitecture modelを参照させたい場合にも候補になります。

逆に、小規模プロジェクトで図が数枚しかない、設計図を頻繁に更新しない、Node.js toolchainを増やしたくない場合は、より軽いdiagram toolの方が扱いやすい可能性があります。

導入判断

LikeC4の価値は、きれいな図を生成することだけではありません。アーキテクチャをGitで差分管理できるモデルへ変え、そのモデルを静的サイト、画像、他diagram形式、Web component、AI toolへ再利用できる点にあります。

ただし、Architecture as Codeはコードにしただけで自動的に最新になる仕組みではありません。モデル更新を開発フローへ組み込めるチームほど効果を得やすいでしょう。まず1つのサービス境界だけをモデル化し、PRレビューと静的サイト生成が既存運用に馴染むか確認してから広げるのが現実的です。

参照情報