
2026/07/09 5:09
Show HN:LLM 駆動かつ AST ベースのコードベース可視化ツール Onboard-CLI
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Onboard-CLI は、開発者が複雑なマルチ言語コードベースをマッピングする方法を変革します。そのためには、コマンドラインの威力と
http://localhost:3000/app で利用可能な直感的な Web ビジュアルライザーをシームレスに統合しています。その核心的な強みは、Tree-sitter を用いた AST パースを行い、Go、JavaScript、TypeScript、Python、Java など複数の言語におけるシステム境界と依存関係を瞬時に表示することにあります。React Flow キャンバスを搭載し、Dark モードと Compact モードに対応している本ツールは、リポジトリをクローンした時点ですぐにアーキテクチャを可視化することを可能にします。macOS、Linux、Windows でのインストールは簡単です。可視化機能を補完し、事前に定義された architecture.yml ファイルに対するサブ秒単位のドリフト検出によって設計パターンを強制し、コードのマージ前の構造違反を防ぎます。Go で構築された CLI エンジンは、指定された半径内のコードパスを可視化する onboard map コマンドや、Express、Gin、FastAPI、Spring などのフレームワークからのバックエンドルートを抽出する onboard routes コマンドなどによる高度な探索を提供します。追加のユーティリティである impact、owners、export、pulse は、変更分析、保守性追跡、データエクスポート、ヘルスサマリーをサポートします。インストールには、GitHub Actions を介して標準を強制するための内蔵テンプレート(例:clean-architecture、modular-monolith)が含まれます。MIT ライセンスで公開されており、アクティブなコミュニティの貢献がある Onboard-CLI は、React 19 や Tailwind CSS といった多様なフレームワークにおいて UI の一貫性を確保します。本文
Onboard-CLI:大規模コードベースの解析と可視化プラットフォーム
Onboard-CLI は、開発者向けのプラットフォームとして、コード解析、システムプロファイリング、およびキャンバスベースのノード可視化を支援します。本ツールは、Tree-sitter を活用した AST(抽象構文木)解析により構造トポロジーグラフを生成し、アーキテクチャ的な境界線の設定を行います。これらは直感的な React Flow キャンバスを通じて表示されます。
🌟 主な特徴
- AST スライシングエンジン
- Tree-sitter を用いた深いコード解析を実行します。
- Go, JS, TS, Python, Java などの複数の言語に対して、高精度な構造的ノード生成を実現します。
- インタラクティブ可視化機能 (map)
- ローカルの React Flow キャンバス (
) を自動的に起動します。http://localhost:3000/app - 指定された範囲内のコードパス、依存関係、トポロジー図を視覚的に探索できます。
- ローカルの React Flow キャンバス (
- アーキテクチャドリフト検出 (drift)
- コードベースを
に定義されたルールと比較します。architecture.yml - 承認されていないクロスファイルインポートや境界違反を検出し、長期的なコードの健全性を確保します。
- コードベースを
- 包括的なエコシステム
- 設定管理、影響範囲分析、コードエクスポート、所有者追跡、プロジェクトパルスチェックなど、多岐にわたる組み込みコマンドを提供しています。
- モダンな技術スタック
- Go で記述された超高速な CLI と、Vite、React 19、Framer Motion、Tailwind CSS を活用した充実したフロントエンド環境が組み合わさっています。
📊 統計情報と機能性
- 言語サポート
- Go, TypeScript, JavaScript, Python, Java の5 つ以上の組み込みパーサーに対応しています。
- 可視化範囲
- デフォルト半径は
ですが、設定によりスケーラブルな依存関係ツリー(深いマッピング)が可能です。1
- デフォルト半径は
- ルール強制機能
- 数千のファイルにわたるアーキテクチャドリフトの評価において、境界レギュラー式の処理をサブセカンド単位で行います。
- フロントエンドパフォーマンス
- Vite および SWC/Oxc ルーティングによる最適化されたレンダリングエンジンにより、大規模なノードセットでも滑らかに動作します。
🚀 入手方法
提供されたインストールスクリプトを使用してください。
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/onboard-cli/install.sh | bash # またはリポジトリから直接 ./install.sh を実行することも可能です
Windows
Invoke-WebRequest -Uri https://raw.githubusercontent.com/onboard-cli/install.ps1 -OutFile install.ps1; .\install.ps1
💻 使用方法
1. プロジェクトの初期化
必要な
.onboard 設定を生成します。CI/CD フォーク用には、以下のコマンドを使用して必要な設定および architecture.yaml ファイルを生成してください。
onboard init --template clean-architecture
利用可能なテンプレート:
genericclean-architecturemodular-monolithmvcserverless
2. コードベースのマッピング(可視化)
コンテキストエンジンを使用してシンボルまたはファイルパスをマッピングし、可視化サーバーを起動します。
onboard map --target "internal/parser" --radius 2
- 👉 提供されたリンク (
) をクリックしてインタラクティブキャンバスを表示してください。http://localhost:3000/app - UI で
を押すとファジー検索を使用できます。Ctrl+P - 右上よりダークモード切り替えやコンパクトモードの切り替えが可能です。
3. バックエンドルートからの抽出
Express、Gin、FastAPI、Spring などの様々なフレームワークにおいて、バックエンド API ルートを正確なファイルおよび行ハンドラー位置に自動マッピングします。
onboard routes --protocol rest --framework express
4. アーキテクチャドリフトの検出
定義されたアーキテクチャルールに対する違反の有無をチェックします。
onboard drift --rules architecture.yml
5. CI/CD への統合
onboard drift を GitHub Actions ワークフローに統合し、毎回のプルリクエストでアーキテクチャ境界を強制します。テンプレートについては docs/onboard-action.yml を参照してください。
6. その他コマンド
: 提案されるコード変更の影響範囲を分析します。onboard impact
: コードの所有権とメンテナンステラッキングを行います。onboard owners
: グラフィックデータや AST データのエクスポートを実行します。onboard export
: コードベースの健全性と最近のアクティビティに関する簡易サマリーを取得します。onboard pulse
注: どのコマンドに対しても、自動非同期バージョンチェッカーを無効にするには、グローバルフラグ
を指定できます。--no-update-check
🛠️ 技術スタック
- CLI エンジン: Go, Cobra, Go-Tree-Sitter, YAML
- Web UI: React 19, TypeScript, Vite, @xyflow/react (React Flow), Tailwind CSS, Framer Motion, Lucide React
- コードハイライトと Markdown: Shiki, MDX, Rehype
🤝 貢献について
私たちは貢献を歓迎しています!以下のディレクトリをご参照ください。
- CLI ロジック:
,cmdinternal - React フロントエンド:
ui
プルリクエストを送信する前に、貢献ガイド および AI 使用ポリシー をお読みください。
貢献手順
- フォーク リポジトリ
- 機能ブランチを作成:
git checkout -b feature/amazing-feature - 変更をコミット:
git commit -m 'Add some amazing feature' - ブランチにプッシュ:
git push origin feature/amazing-feature - プルリクエストを開く
📝 ライセンス
MIT ライセンスの下で配布されています。詳細は LICENSE ファイルをご覧ください。