コンテンツにスキップ

アーキテクチャ

ドキュメントおよびガバナンスシステムは 3 つのリポジトリにまたがっており、それぞれ明確な役割を持っています:

リポジトリ役割
docs-control中央ガバナンスハブ — リポジトリ設定、ブランチ保護設定、管理対象ファイルマニフェスト、再利用可能な CI ワークフロー、Antigravity AI ワークフロー、呼び出し元ワークフローテンプレート、エージェントスキル、およびダウンストリームディスパッチ
docs-builderDocker ビルドイメージ — Astro + Starlight ビルドオーケストレーション、npm 依存関係、Puppeteer PDF 生成、インタラクティブコンポーネント
docs-themeAstro Starlight プラグイン — 共有ブランディング、CSS、フォント、ロゴ、レイアウトコンポーネント、astro.config.mjs、および content.config.ts

コンテンツリポジトリには docs/ ディレクトリのみが必要です。ビルドコンテナとワークフローがそれ以外のすべてを処理します。

docs-control の main ブランチでテンプレートファイルやワークフローが変更された場合:

  1. ディスパッチワークフロー が起動し、すべてのダウンストリームリポジトリで設定適用をトリガーします
  2. 設定適用ワークフロー が望ましい状態と現在の状態を比較し、ドリフトをパッチ適用します
  3. ファイル同期ワークフロー がドリフトした管理対象ファイルを検出し、正規のコンテンツを含む PR を作成して自動マージします
  4. 再利用可能な Antigravity AI ワークフロー(antigravity-review.yml および antigravity-translate.yml)が、登録済みリポジトリ全体のプルリクエストで実行されます

フリートには GitHub Actions ランナー上で動作する Antigravity (agy) AI 自動化が組み込まれています:

ワークフロー目的トリガーと実行
Antigravity コードレビュー (antigravity-review.yml)自動 AI プルリクエストコードレビューPR の作成または更新時に実行されます。Gemini 3.6 Flash (High) を使用して差分(diff)を監査し、セキュリティの脆弱性、ハードコードされたシークレット、PII 漏洩、およびコード品質をチェックし、PR コメントを介してフィードバックを投稿します。
Antigravity 言語翻訳 (antigravity-translate.yml)自動 AI ドキュメント翻訳docs/en/**/*.md[x] を変更する PR で実行されます。.agents/skills/i18n-translate/SKILL.md スキルを実行して 12 のターゲットロケール(fresdept-brjakozh-cnzh-twarithith)を更新し、i18n.sourceHash を更新して PR ブランチに自動コミットします。

3 組の資格情報が最小権限の分離を提供します:

トークン / シークレット権限 / スコープ使用場所
REPO_SETTINGS_TOKENAdministration R/W、Pages R/W、Contents Read、Metadata Readenforce-repo-settings.ymldispatch-downstream.ymlupdate-governed-workflow-pins.yml
REPO_SYNC_TOKENContents R/W、Issues R/W、Pull Requests R/W、Metadata Readsync-managed-files.yml
ANTIGRAVITY_TOKEN & GCP_PROJECT_IDAntigravity AI 認証および GCP プロジェクトアクセスantigravity-review.ymlantigravity-translate.yml

適用ワークフローには、ブランチ保護および Pages 設定を変更するための管理者アクセス権が必要です。同期ワークフローには、ブランチの作成、ファイルのコミット、および PR のマージを行うためのコンテンツおよび PR アクセス権が必要です。Antigravity AI ワークフローは、Gemini 3.6 Flash で認証するために専用のプロジェクト資格情報を使用します。

Docs-control は自身が提供するガバナンス設定の提供者であり、消費者でもあります。enforce-repo-settings.yml が docs-control 自体で実行される場合(push トリガー経由)、managed_files.source_repogithub.repository を比較することでこれを検出します。これにより、ブランチ保護で self_contexts オーバーライドがトリガーされます。docs-control はワークフローを直接使用するのに対し(例: Shell Unit Tests)、ダウンストリームリポジトリは呼び出し元ラッパーを使用します(例: lint / Shell Unit Tests)。contextsself_contexts の詳細については、設定ページ を参照してください。

ディレクトリ / ファイル目的
.github/config/repo-settings.json中央設定: リポジトリ設定、ブランチ保護、Actions 権限、Pages 設定、および管理対象ファイルマニフェスト
.github/config/downstream-repos.json登録済みダウンストリームリポジトリのレジストリ
.github/config/docs-sites.jsonREADME テンプレート化で使用される各ダウンストリームドキュメントサイトのメタデータ(ラベル、URL、説明)
.github/workflows/再利用可能なワークフロー: 設定適用、ファイル同期、Pages デプロイ、関連 Issue チェック、ディスパッチ、Antigravity レビュー、および Antigravity 翻訳
.agents/skills/エージェントスキルのガバナンス: demo-componentsi18n-translate
workflows/ダウンストリームリポジトリが .github/workflows/ にインストールする呼び出し元テンプレート
docs/ドキュメントソース(Astro Starlight を介してビルドおよびデプロイ)
CONTRIBUTING.md貢献者ワークフロールール(すべてのダウンストリームリポジトリに同期)
CLAUDE.mdAI アシスタントへの指示(すべてのダウンストリームリポジトリに同期)
AGENTS.mdリポジトリエージェントへの指示およびガバナンスポリシー
README.md.tpl動的に生成されるダウンストリーム README ファイルのテンプレート
.pre-commit-config.yamlPre-commit フック設定(すべてのダウンストリームリポジトリに同期)
.markdownlint.jsonMarkdown リンタールール
.yamllint.yamlYAML リンタールール