機能一覧に戻る
コア機能

シンボルトランスクルージョン

行番号ではなく名前で生きたコードをドキュメントに埋め込み。ソースを編集すれば、ドキュメントも自動更新。

example.md
# 関数を名前で埋め込み
![[auth.py#validate_token]]

Ohaiはauth.pyからvalidate_token関数を抽出し、シンタックスハイライト付きでインライン表示。関数が変更されれば、ドキュメントも自動的に更新されます。

なぜ重要か

従来のドキュメントは腐ります。コードをマークダウンにコピー&ペーストし、コードが進化すると、突然ドキュメントが嘘をつき始めるのです。シンボルトランスクルージョンは、ソースファイルを唯一の信頼できる情報源として扱うことで、この問題を解決します。

リファクタリングのたびに壊れる行番号参照とは異なり、シンボルトランスクルージョンはAST解析を使って、関数、クラス、構造体、定数といった実際の名前でコードを見つけます。ファイル名を変更しても、コードを再構成しても、新しいメソッドを追加しても、シンボル名が存在する限り、ドキュメントは正確さを保ちます。

活用例

APIドキュメント

手入力で同期がずれた近似版ではなく、実際の関数シグネチャを参照できます。

アーキテクチャ決定記録

ADRで議論しているコードを埋め込み。コードベースの進化に合わせて、例も最新の状態を保ちます。

オンボーディングガイド

リポジトリと一致すると信頼できる生きたコードで、新しい開発者に認証の仕組みを示せます。

コードレビュー

特定の関数をマークダウンサマリーに取り込み、非同期でレビューや議論を行えます。

チュートリアル

実際の実装を段階的に解説。読者はコード例が常に最新であると信頼できます。

ランブック

インシデント時に運用チームが参照する必要がある、正確な設定やスクリプトを埋め込めます。

対応言語

Tree-sitter AST解析による30以上の言語対応。JSONキー、YAMLパス、TOMLテーブルにも対応。

PythonSwiftTypeScriptJavaScriptRustGoRubyJavaKotlinCC++C#HaskellElixirScalaRJuliaPerlPHPDartZigVOCamlJSONYAMLTOMLXMLPlistCSSShell

古くならないドキュメントを試してみませんか?

Mac版をダウンロード