CodeBoarding(CodeBoarding/CodeBoarding)は、コードベースを LSP による静的解析で呼び出しグラフにし、その構造を根拠に LLM エージェントがコンポーネントの説明と関係を書いて、Mermaid の構成図と文書を出す MIT ライセンスの OSS だ。GitHubスターは 2.4k、対応言語は 8 つ、入口は CLI・VS Code 拡張・GitHub Action・MCP サーバー・Web プラットフォームの 5 つ。本記事は PyPI から Python 3.12 環境に導入し、LSP サーバーのセットアップ、リポジトリ自身に同梱された解析結果(analysis.json)からの文書レンダリング、キー無しでの実行の挙動を実測した。README の「How it works」図が現行の自己解析結果と食い違っている点も、生成した図で示す。

CodeBoardingがリポジトリ自身を解析して出した9コンポーネントの構成図。Static Analysis Engine・AI Architecture Agents・Diagram Generation Pipeline・CLI and Workflow Orchestratorなどが関係ラベル付きの矢印で結ばれている
本記事の実測。リポジトリ同梱の .codeboarding/analysis.json(2026-09-15 生成)を codeboarding-render で Markdown 化し、その Mermaid を mermaid-cli で描画したもの。9 コンポーネント・関係ラベル付き。
30秒でわかる CodeBoarding(2026-09-16時点)
  • 正体:Python 製 CLI。LSP(pyright・typescript-language-server・gopls など)で呼び出しグラフを作り、構造の分離度でコンポーネントに切り、LLM が説明を書く。出力は .codeboarding/analysis.json と Mermaid/md/html/mdx/rst。
  • 何ができるfull(全解析)・incremental(変更分だけ)・partial(コンポーネント 1 個)。GitHub Action は main への push で解析結果をコミットし、PR には図の差分をコメントする。
  • 実測pip install codeboarding 41 秒、codeboarding-setup 24 秒(C# 以外の LSP を取得)、自己解析結果のレンダリング 4.7 秒で overview+7 文書。キー無しの full は 3.5 秒で「LLM provider not configured」。LLM を伴う解析は未検証
  • 注意:README の図(6 コンポーネント)と現行の自己解析(9 コンポーネント)が不一致。README が参照する .codeboarding/overview.md はリポジトリに無い。テレメトリは既定オン。requires-python>=3.12,<3.13 で README の「3.12 または 3.13」と食い違う。

CodeBoarding は「AI が書いたコードを人が把握し直す」側のツールで、AI コーディングの進め方全体はVibe Codingとは?AIコーディングの始め方・ツール比較・実践ワークフロー2026にまとめている。

CodeBoardingとは——静的解析の根拠つきでLLMに構成図を書かせる

README 冒頭の定義は次の通りだ(原文)。

See what your AI is building before it breaks. CodeBoarding gives developers and coding agents a visual map of a codebase. It combines static analysis with LLM reasoning to generate architecture diagrams, component-level documentation, and navigable outputs you can use in your IDE, CI, and docs.

読者の3問に答える。

何ができる:リポジトリを解析して、コンポーネント(部品)の一覧・各部品の説明と主要エンティティ・部品間の関係(ラベル付き矢印)を analysis.json に出す。そこから Mermaid 図と文書を md/html/mdx/rst で書き出し、VS Code 拡張や Web プラットフォームで対話的にたどれる
何を解決する:手描きの構成図がコードの変更に追いつかない問題と、LLM にコードを丸ごと読ませると根拠の無い部品名が出る問題。呼び出しグラフを先に作るので、LLM は「何がどこを呼ぶか」を見た上で説明を書く
何を代替する:オンボーディング用に人が書く「アーキテクチャ概要」ドキュメントの初稿と、PR レビューで「この変更はどの部品に触れるか」を口頭で説明する作業。IDE のコードナビゲーションや、AI エージェントにコンテキストを渡すグラフ CLI(後述の比較)とは役割が違う

README が挙げるユースケースは4つで、AI 開発中のアーキテクチャ可視化、AI 生成コードを壊れる前に確認する、大きなリポジトリを短時間で理解する、ローカル・IDE・PR・ドキュメントで同じ視覚モデルを共有する、である。生成例は GeneratedOnBoardings リポジトリに集められ、README は「800 以上の OSS リポジトリを可視化した」と書く(本記事では件数を数えていない)。

LSP静的解析、クラスタリング、LLMエージェント、レンダリングの4段階でCodeBoardingが構成図と文書を出す流れ
README「How it works」と analysis.json の metadata(tree_spec・grouper=affinity)から要約した処理の流れ。

CodeBoardingの仕組み:LSPの呼び出しグラフ → クラスタリング → LLMエージェント → レンダリング

処理は4段に分かれる。名前は自己解析結果の 9 コンポーネントに合わせた。

段階 コンポーネント(自己解析より) 何をするか
静的解析 Static Analysis Engine 言語ごとの LSP サーバーをクライアントとして起動し、シンボル・呼び出し関係・AST を集める。tree-sitter 0.25.2 と各言語文法も依存に含む
部品化 Diagram Generation Pipeline 呼び出しグラフを構造の分離度でクラスタリング(grouper: affinity)。深さは --depth-cap(既定 3)を安全弁として自動展開
説明 AI Architecture Agents LangChain 1.x+LangGraph 上のエージェントが、部品の説明・主要エンティティ・関係ラベルを書く
出力 Documentation and Diagram Renderers analysis.json から overview と部品ごとの文書を md/html/mdx/rst で生成。Mermaid を含む
flowchart LR R["リポジトリ
8言語"] --> L["LSP 静的解析
pyright / tsserver / gopls …"] L --> G["呼び出しグラフ・AST
static_analysis.pkl にキャッシュ"] G --> C["クラスタリング
affinity・depth_cap"] C --> A["LLM エージェント
LangChain / LangGraph"] A --> J["analysis.json
components・relations"] J --> M["Mermaid 図+文書
md / html / mdx / rst"] J --> W["Web プラットフォーム
ブラウザ内で表示"] J --> V["VS Code 拡張・MCP サーバー"] I["incremental
fingerprint.json で差分"] -.-> G H["health 検査
関数サイズ・未使用コード"] -.-> J

増分実行は fingerprint.json に前回の基準を持ち、incremental サブコマンドは「git 不要で、生成時から変わった部分だけ」を更新する。partial --component-id "1.2" はコンポーネント 1 個だけを書き直す。これとは別に health 検査health_main.py)があり、LLM を使わずに関数サイズ・ファンイン/ファンアウト・継承深さ・循環・未使用コードを採点して CI のゲートに使える。同梱の自己検査結果は総合スコア 0.868 で、関数サイズは 1,420 エンティティで指摘 0、未使用コード診断は 216 件(警告 80)だった。

READMEのHow it works節にある6コンポーネントの構成図。Application Orchestrator、Incremental Analysis Engine、Static Code Analyzer、Agent Tooling Interface、LLM Agent Core、Documentation & Diagram Generator
README「How it works」の Mermaid を本記事で描画したもの。冒頭の自己解析図(9 コンポーネント)と部品名も数も違う。README 側が古い。

READMEの図と自己解析結果のずれ

リポジトリには .codeboarding/ として analysis.jsonfingerprint.jsonfile_coverage.jsonstatic_analysis.pklhealth/ が同梱され、GitHub Actions の codeboarding-sync.ymlmain への push ごとに「chore(codeboarding): sync analysis baseline」としてコミットし直している(履歴上、GitHub Action 名義のコミットが 124 件)。この 2026-09-15 生成の analysis.json は 326 ファイル中 171 を解析(155 は未解析、うち 141 は .codeboardingignore による除外)、depth_cap 2、コンポーネント 9 個だ。一方 README の図は 6 コンポーネントで名前も異なり、README が「深い解説はこちら」と指す .codeboarding/overview.md はリポジトリに存在しない(レンダリング成果物はコミットされていない)。自分のリポジトリで使うときも、図の鮮度は analysis.jsonmetadata.generated_at で確認するのがよい。

実測:PyPIからの導入・LSPセットアップ・レンダリング(Linux)

README は pipx を推奨し、pip なら仮想環境内でと書く。本記事は Python 3.12 の venv で pip を使った。

python3.12 -m venv .venv && . .venv/bin/activate
pip install codeboarding          # README は --extra-index-url https://pip.codeboarding.org/simple/ も案内
codeboarding-setup                # LSP サーバーを ~/.codeboarding/servers/ に取得
codeboarding --help
工程 結果 備考
pip install codeboarding 成功(real 41.0 秒) codeboarding 0.14.2・anthropic 1.6.0・boto3 ほか。extra-index 無しでも入った
codeboarding-setup 成功(24.2 秒) 表示された範囲で TypeScript/JavaScript/PHP/Java/Rust が yes、C# は nocsharp-ls の導入に dotnet が無い)。~/.codeboarding/config.toml が生成される
codeboarding --help 成功 fullincrementalpartialfull は省略可(codeboarding --local /path で暗黙)
codeboarding-render .codeboarding/analysis.json --format md 成功(4.7 秒) overview.md+7 コンポーネント文書。--format html も成功
codeboarding full --local <TSの小さなリポジトリ>(キー無し) 停止(3.5 秒) LLM provider not configured: Provider 'anthropic' requires ANTHROPIC_API_KEY

検証環境:Linux x86_64/Python 3.12.3/Node.js 22/2026-09-16。テレメトリは CODEBOARDING_TELEMETRY=false で止めて実行。確認したのは導入・LSP 取得・既存 analysis.json のレンダリング・キー無し実行のエラーまで。LLM を伴う fullincremental 解析、VS Code 拡張、GitHub Action、MCP サーバー、Web プラットフォームは未検証

既存の解析結果から文書を出し直す codeboarding-render はキー不要で、overview.md の先頭に 9 コンポーネントの Mermaid、各コンポーネント文書の先頭にサブコンポーネント(例:Static Analysis Engine の下に LSP Engine and Language Adapters・Project Scanning and Analysis Cache など 4 つ)の Mermaid が出る。冒頭の図はこの overview.md の Mermaid をそのまま描画したものだ。

codeboarding-render .codeboarding/analysis.json --format md --output-dir /tmp/cb-render   # キー不要
ls /tmp/cb-render   # overview.md と 7 つのコンポーネント文書

Python の版について補足する。pyproject.tomlrequires-python>=3.12,<3.13 だが、README と PyPI の説明は「Python 3.12 または 3.13」、リポジトリの .python_version は 3.13 と三者が食い違う。pipx で入れるなら README どおり --python python3.12 を明示しておくのが安全だ。また PyPI の 0.14.2 に対して git の最新タグは v0.14.1(2026-09-08)で、main はそこから 18 コミット先だった。

設定とプロバイダ:config.toml・環境変数・モデル

初回実行で ~/.codeboarding/config.toml が生成され、[provider] にキーを 1 つだけ書く方式だ。生成されたファイルのコメントに並ぶのは openai_api_keyopenai_base_url で OpenAI 互換プロキシ可)・anthropic_api_keyanthropic_base_url で Azure Foundry 可)・google_api_keyvercel_api_keyaws_bearer_token_bedrockcerebras_api_keydeepseek_api_keyglm_api_keykimi_api_keyollama_base_url、README にはさらに openrouter_api_keyorcarouter_api_keylitellm_base_urllitellm_api_key がある。モデルは [llm]agent_model で指定し、README の例は gemini-3.8-flash。シェルの環境変数(ANTHROPIC_API_KEY など)が config.toml より優先される。

本記事の環境で codeboarding-setup が生成した ~/.codeboarding/config.toml の先頭は次の形だった(キーは 1 つだけコメントを外す)。

# CodeBoarding user configuration
# Location: ~/.codeboarding/config.toml
# Uncomment and fill in exactly ONE provider key below.
[provider]
# openai_api_key            = "sk-..."
# anthropic_api_key         = "sk-ant-..."
# google_api_key            = "AIza..."
# ollama_base_url           = "http://localhost:11434"

運用に効く環境変数は3つある。

CODEBOARDING_LSP_REQUEST_TIMEOUT:言語サーバーへの 1 リクエストのタイムアウト秒。既定は C# が 120 秒、他が 60 秒。直近のコミット(#594)で上書き可能になった
CODEBOARDING_MAX_CONCURRENT_ENGINES:同時に起動する LSP サーバー数の上限。既定は無制限
CODEBOARDING_TELEMETRY=false または DO_NOT_TRACK=1:テレメトリ停止

テレメトリは既定オンで、TELEMETRY.md によれば送るのはコマンド名・バージョン・成否・実行時間・使用モデルとトークン数、リポジトリの LOC と言語数、言語別のファイル数・ノード数・エッジ数、MCP 呼び出しの情報で、識別子は機械 ID の SHA-256 ハッシュとリポジトリ所有者名。送らないのはソースコード・ファイル名・プロンプト・LLM 出力・API キー・メール・IP。送信先は PostHog(米国)だ。source プロパティで oss/vscode/github_action の別が付く。

CodeBoardingの入口は5つ:CLI・VS Code拡張・GitHub Action・MCP・Web

入口 何ができるか 備考
CLI fullincrementalpartial--render 本記事で導入まで実測
VS Code 拡張 IDE 内で図を表示・たどる Marketplace と Open VSX。テレメトリは拡張側の設定でも切れる
GitHub Action main への push で analysis.json を更新・コミット。PR には図の差分をコメント このリポジトリ自身が codeboarding.yml(PR)と codeboarding-sync.yml(push)で運用
MCP サーバー Claude Code・Cursor などへアーキテクチャ文書を渡す 別リポジトリ CodeBoarding-MCP
Web プラットフォーム 公開リポジトリの analysis.json を開いて閲覧・PR の図差分を確認 app.codeboarding.org。README は「ブラウザ内で処理、アップロード無し」と説明

GitHub Action の使い方は分かりやすい。PR が開かれると解析して構成図の差分をコメントし、マージ後の main push で基準を更新する。CodeBoarding 自身のリポジトリでその運用が回っていて、コミット履歴の 2 割弱(124/649)がこの自動コミットである。

手描きの構成図やLLM丸投げと、CodeBoardingの比較図
README のユースケースから整理した「何を置き換えるか」。

類似ツールとの比較:oh-my-mermaid・Ix・Code Review Graph

「コードベースを図にする/グラフにする」OSS を当サイトの過去記事から並べる。数値は各記事執筆時点で、本記事では再取得していない。

観点 CodeBoarding oh-my-mermaid Ix Code Review Graph
種別 CLI+拡張+Action+MCP+Web Claude Code スキル グラフ化 CLI(26 言語) Tree-sitter AST の知識グラフ MCP
根拠の取り方 LSP の呼び出しグラフ→LLM LLM がコードを読んで Mermaid 化 静的グラフ AST 解析
主な出力 analysis.json・Mermaid・md/html/mdx/rst Mermaid エージェントに渡すグラフ エージェント向けクエリ(トークン削減)
主な読み手 人(オンボーディング・PR レビュー) AI エージェント AI エージェント
CI 連携 GitHub Action で図の差分コメント なし なし なし
ライセンス MIT 記事参照 記事参照 記事参照

oh-my-mermaid は Claude Code の中で LLM に図を描かせる軽さが取り柄で、CodeBoarding は先に静的解析をして LLM の説明に根拠を持たせ、CI で更新し続けるところが違う。AI エージェント側にコードの構造を渡す目的なら Ix や Code Review Graph の方が直接的で、CodeBoarding の MCP サーバーはその中間に位置する。AI コーディングの「見える化」という意味では、エージェントの履歴とコストを可視化する agentsview や、VS Code 拡張で AI コーディングの習慣を診断する Microsoft AI Engineer Coach と補完関係にある。

ライセンス・メンテナンス状況と採用判断

LICENSE の実体は MIT License(Copyright (c) 2025 CodeBoarding)で、pyproject.toml の記載と一致する。メンテナンス状況の実測値は次の通り。

項目 実測値(2026-09-16)
GitHub star / fork / open issues(PR 含む) 2.4k / 202 / 21
コミット 649(初コミット 2025-04-08・最終 2026-09-15)
貢献者(非マージ) 28。上位は Svilen Stefanov 162・Ivan Milev 121・brovatten 87。bot 名義(GitHub Action 124・codeboarding-review[bot] 92)を含む
月別コミット 2026年6月 61/7月 45/8月 93/9月(15日まで)54
タグ 31 本。最新 v0.14.1(2026-09-08)、v0.14.0(09-06)、v0.13.0(07-13)。PyPI は 0.14.2
公式サイト codeboarding.org(本記事の環境からは取得不可・未確認)

複数人で継続的に開発され、9 月に入っても 2 日おきにコミットがあり、LSP まわりの修正(bulk didOpen の drain barrier・タイムアウト上書き)が直近の主題だ。Web プラットフォームと VS Code 拡張は同じ会社が提供しており、CLI は MIT だが、Web 側の料金や利用条件は本記事では確認できなかった。

向いている:AI コーディングで急に増えたリポジトリのオンボーディング資料を初稿から自動化したいチーム。PR ごとに「どの部品に触れたか」を図で示したいレビュー運用
待った方がよい:C# 主体で dotnet をランナーに入れられない環境(LSP セットアップで C# だけ落ちた)、テレメトリを既定オンにできない組織(環境変数で止められるが要周知)
確認してから:LLM コスト。README・TELEMETRY.md ともにトークン数は「収集する」とあるが目安は示されていない。まず小さなリポジトリで --depth-cap を下げて測るのがよい

まとめ

CodeBoarding は「LLM に図を描かせる」ツールではなく、「LSP で作った呼び出しグラフを根拠に LLM へ説明を書かせ、CI で更新し続ける」ツールだ。導入は pip と codeboarding-setup で 1 分強、既存の analysis.json からのレンダリングはキー無しで動き、本記事ではそこまでを実測した。LLM を伴う解析は未検証である。一方で README の構成図は自己解析より古く、README が指す overview.md はリポジトリに無い。自分のリポジトリで使うなら、GitHub Action で基準を更新し続ける運用込みで採用し、テレメトリと LLM コストを最初に決めておくのがよい。

参照ソース

CodeBoarding/CodeBoarding(公式リポジトリ) — README・LICENSE・pyproject.toml・.codeboarding/analysis.json.github/workflows/(2026-09-16 時点の main
codeboarding(PyPI) — 0.14.2・導入手順
TELEMETRY.md — 収集項目・識別子・オプトアウト
GeneratedOnBoardings — 生成例の集積
CodeBoarding-MCP — MCP サーバー(本記事では未検証)