コンテンツにスキップ

formatContextGraphSummary

ContextGraph を受け取り、エントリポイント(誰からも参照されていないノード)と被参照数の多い上位ノードをまとめた複数行の文字列を返します。

グラフ全体を眺めるとき、ノードと辺の生データだけでは構造を把握しにくい場面があります。formatContextGraphSummaryどのファイルが起点で、どのファイルに参照が集中しているか を一目で確認できる形式に整形します。

MCP の context-graph ツールが返すサマリーもこの関数の出力をそのまま使っています。

function formatContextGraphSummary(graph: ContextGraph): string;
パラメータ必須説明
graphContextGraphbuildContextGraph で構築したグラフ

string を返します。改行で区切られた次のセクションを含みます。

  • 1 行目 — ノード数と辺数のサマリー
  • Entry points (no incoming refs) — 入次数 0 のファイル一覧
  • Most connected (by incoming refs) — 入次数の多い上位 5 ファイル
import { buildContextGraph, formatContextGraphSummary, loadDocuments } from "@contextlint/core";
const documents = loadDocuments(["docs/**/*.md"]);
const graph = buildContextGraph(documents);
console.log(formatContextGraphSummary(graph));

出力例:

Document Graph: 12 files, 27 edges
Entry points (no incoming refs):
- docs/index.md
- docs/getting-started.md
Most connected (by incoming refs):
- docs/glossary.md (8 in, 0 out)
- docs/architecture.md (5 in, 3 out)
- docs/api.md (3 in, 4 out)