Repository X-Ray

コード提案のコンテキストを強化するためのリポジトリ解析とメタデータ抽出

概要

Repository X-Ray は、リポジトリを解析してメタデータとコンテキスト情報を抽出する機能です。これらの情報はコード生成リクエストの追加コンテキストとして使われ、AI モデルがプロジェクトのコーディングパターンを理解しやすくします。

動作の仕組み

Repository X-Ray は、リポジトリを自動的に解析し、プロジェクトで使用されている外部依存関係やライブラリを抽出します。

抽出されたメタデータはデータベースに保存され、コード生成リクエストに含められて、より正確でコンテキストに沿った提案を提供します。

技術的な実装

Repository X-Ray のレポートは、プロジェクトのデフォルトブランチに変更がコミットされたタイミングで自動生成されます。

sequenceDiagram
   actor USR as User
   participant GIT as Gitaly
   participant GLR as GitLab Rails
   participant PG as GitLab PostgreSQL DB

   USR->>GLR: commits a change to the project's default branch
   GLR->>+GLR: triggers Repository X-Ray background job
   GLR->>GIT: fetches relevant files on default branch
   GIT->>GLR: file blobs
   GLR->>GLR: processes file blobs
   GLR->>-PG: upserts records to xray_reports

図に登場するコンポーネントは次のとおりです。

  1. Gitaly - Git リポジトリへのハイレベルな RPC アクセスを提供するアプリケーション。
  2. GitLab PostgreSQL DB - GitLab の運用データを保存するリレーショナルデータベースエンジン。

生成されたレポートは、その後コード生成リクエストに自動的に含まれ、AI モデルのプロジェクトコンテキスト理解を強化します。

ダッシュボードとモニタリング

ドキュメント