18 言語 · あらゆる OpenAI 互換エンドポイント · MIT

ひとつのコードベースから、二冊のハンドブック——一冊はチームが読み、一冊はエージェントが辿る。

コーディングエージェントはシンボルを grep し、本当に重要な 7 箇所のうち 3 箇所を見つけ、半分だけ直した変更を出荷します。これは推論の失敗ではなく、ルーティングの失敗です。Handbooks はそのためのマップを渡します。

# パイプライン全体、オフライン、API キー不要、約 30 秒
pnpm install && pnpm build
pnpm demo

同梱のサンプルプロジェクトと、同梱のモック LLM。トークン消費はゼロ。

7 つのコマンド、1 つのループ

ティールのステップは決定的です — LLM もネットワークも使わず、CI で何度でも無料で再実行できます。アンバーのステップはあなたのエンドポイントと話し、学んだことをキャッシュします。

  1. 1analyzeLLM なし

    全ファイルを型付きコールグラフへパースします。

  2. 2generateLLM

    カード、ステージ、文章、ステージ横断の状態。

  3. 3renderLLM なし

    Markdown、HTML、エージェント索引、llms.txt。

  4. 4skillLLM なし

    コーディングエージェント向けにパッケージ化します。

  5. 5planLLM

    変更をバイト一致の編集へ絞り込みます。

  6. 6applyLLM なし

    オール・オア・ナッシングの適用、ロールバック付き。

  7. 7resyncLLM

    ハンドブックを前へ進めます。再構築は不要。

  8. 各フェーズの仕組み
Handbooks のパイプライン: analyze、generate、render、skill、plan、apply、そして resync のフィードバックループ

読んだ内容を信頼できる理由

事実はパーサーから

tree-sitter がコールグラフを構築します: 関数、解決済みエッジ、境界呼び出し、そして解決できなかった呼び出し — 後者は隔離され、決して推測で補われません。このレイヤーは LLM に一切触れないので、何度実行しても同じです。

文章は事実の上に載り、そう明示される

ファイルが何のためにあるか、サブシステムがどうつながっているかは LLM が書き、常にグラフにアンカーされます。失敗しても構造はそのまま出荷され、説明が空になるだけです。でっち上げられた一文より、欠けている一文のほうがましです。

読むためではなく、ルーティングのために

出力は「この変更はどのファイル・関数・状態に触れなければならないか?」に答えます — テキスト検索が見落とす、散在していて見つけにくいものも含めて。そのうえでプランナーが、見つけた各アドレスで実際のソースを読みます。

適用は意図して退屈に

アンカーはバイト単位で一意に一致しなければなりません。何かが書き込まれる前に、すべてが検証されます。触れたファイルはパッチ前のハッシュとともにバックアップされるので、ロールバックは何を復元しているのかを証明できます。

インクリメンタルに最新を保つ

resync は古いコールグラフと新しいものを差分比較し、実際に変わったものだけを再生成します。3 ファイル触れば、3 ファイル分の支払いです。更新が高価でなくなったので、ドキュメントは腐らなくなります。

自らの限界も開示する

設定駆動アナライザが読んだ言語は概要に名指しされるため、「ベストエフォートの呼び出し関係」が「正確」と読まれることはありません。

解析忠実度

1 回の実行。6 つの出荷形式。

高コストなのは生成で、それは一度きりです。以下はすべて決定的な再レンダリングで、コミットごとに実行できます。

Markdown ハンドブック

概要 · 索引 · ステージごとに 1 ページ · 状態レジスタの表

複数ページの HTML サイト

固定 TOC、パンくずリスト、テーマ切替 — file:// でも動作

自己完結の 1 ページ

メールで送れて、チケットにも添付できる .html 1 枚

エージェント用ロケータ索引

役割 · 入口概念 · 状態 · 代表例 · 共変更ヒント

llms.txt + llms-full.txt

llms.txt 規約に準拠、加えて全体を平坦化した 1 ファイル

エージェント SKILL パッケージ

SKILL.md + references/ + ファイルごとのコンテンツハッシュ

無料のコマンドから始める

handbook analyze は API キーを必要としません。自分のリポジトリで実行し、ファイル数と関数数を確認してから、残りにトークンを 1 つ使う価値があるかどうかを決めてください。