- ホーム
- Docs Control
- 設定リファレンス
設定リファレンス
中央設定ファイルは、すべての強制、同期、およびディスパッチ動作を制御します。このファイルは docs-control の .github/config/repo-settings.json に配置され、ワークフロー実行時にダウンストリームリポジトリによって取得されます。
{ "_comment": "Central repo-settings config — enforced by enforce-repo-settings.yml", "repository": { "private": false, "has_issues": true, "has_projects": false, "has_wiki": false, "is_template": false, "allow_squash_merge": true, "allow_merge_commit": true, "allow_rebase_merge": true, "allow_auto_merge": false, "delete_branch_on_merge": true, "web_commit_signoff_required": false, "squash_merge_commit_title": "COMMIT_OR_PR_TITLE", "squash_merge_commit_message": "COMMIT_MESSAGES", "merge_commit_title": "MERGE_MESSAGE", "merge_commit_message": "PR_TITLE", "allow_update_branch": true, "homepage": "" }, "actions_permissions": { "default_workflow_permissions": "write", "can_approve_pull_request_reviews": true }, "branch_protection": [ { "branch": "main", "enforce_admins": true, "required_status_checks": { "strict": true, "contexts": [ "Check linked issues", "lint / Lint Code Base", "lint / Shell Unit Tests" ], "self_contexts": ["Check linked issues", "Lint Code Base", "Shell Unit Tests"] }, "required_pull_request_reviews": { "dismiss_stale_reviews": false, "require_code_owner_reviews": false, "required_approving_review_count": 0, "require_last_push_approval": false, "dismissal_restrictions": { "users": [], "teams": [] }, "bypass_pull_request_allowances": { "users": [], "teams": [], "apps": [] } }, "restrictions": null, "required_linear_history": false, "allow_force_pushes": false, "allow_deletions": false, "block_creations": false, "required_conversation_resolution": false, "lock_branch": false, "allow_fork_syncing": false } ], "topics": [], "pages": { "enabled": true, "build_type": "workflow" }, "managed_files": { "source_repo": "f5-sales-demo/docs-control", "files": [ {"src": "workflows/github-pages-deploy.yml", "dest": ".github/workflows/github-pages-deploy.yml"}, {"src": "workflows/enforce-repo-settings.yml", "dest": ".github/workflows/enforce-repo-settings.yml"}, {"src": "workflows/require-linked-issue.yml", "dest": ".github/workflows/require-linked-issue.yml"}, {"src": "workflows/antigravity-review.yml", "dest": ".github/workflows/antigravity-review.yml"}, {"src": "workflows/antigravity-translate.yml", "dest": ".github/workflows/antigravity-translate.yml"}, {"src": ".github/PULL_REQUEST_TEMPLATE.md", "dest": ".github/PULL_REQUEST_TEMPLATE.md"}, {"src": ".github/ISSUE_TEMPLATE/bug_report.md", "dest": ".github/ISSUE_TEMPLATE/bug_report.md"}, {"src": ".github/ISSUE_TEMPLATE/feature_request.md", "dest": ".github/ISSUE_TEMPLATE/feature_request.md"}, {"src": ".github/ISSUE_TEMPLATE/documentation.md", "dest": ".github/ISSUE_TEMPLATE/documentation.md"}, {"src": ".github/ISSUE_TEMPLATE/config.yml", "dest": ".github/ISSUE_TEMPLATE/config.yml"},
{"src": "CONTRIBUTING.md", "dest": "CONTRIBUTING.md"}, {"src": "CLAUDE.md", "dest": "CLAUDE.md"}, {"src": "AGENTS.md", "dest": "AGENTS.md"}, {"src": ".agents/skills/demo-components/SKILL.md", "dest": ".agents/skills/demo-components/SKILL.md"}, {"src": ".agents/skills/i18n-translate/SKILL.md", "dest": ".agents/skills/i18n-translate/SKILL.md"}, {"src": ".editorconfig", "dest": ".editorconfig"}, {"src": ".gitignore", "dest": ".gitignore"}, {"src": "LICENSE", "dest": "LICENSE"}, {"src": ".pre-commit-config.yaml", "dest": ".pre-commit-config.yaml"} ] }}フィールドリファレンス
Section titled “フィールドリファレンス”repository
Section titled “repository”PATCH /repos/{owner}/{repo} 経由で適用される標準的な GitHub リポジトリ設定。各キーは GitHub API フィールドに直接マッピングされます。強制ワークフロー は各キーをリポジトリの現在の値と比較し、乖離しているキーのみをパッチ適用します。
主な設定:
delete_branch_on_merge: true— マージされた PR ブランチを自動的にクリーンアップしますallow_update_branch: true— PR 上の “Update branch” ボタンを有効にしますhomepage: ""— 実行時にhttps://f5-sales-demo.github.io/{repo}/として自動計算されます
actions_permissions
Section titled “actions_permissions”リポジトリの GitHub Actions ワークフロー権限を制御します:
default_workflow_permissions: "write"— ワークフローはデフォルトでリポジトリへの読み取り/書き込みアクセス権を取得しますcan_approve_pull_request_reviews: true— ワークフローによる PR の承認を許可します
Antigravity 自動化コントロール
Section titled “Antigravity 自動化コントロール”Configure Antigravity Controls ワークフローは、Antigravity レビュアーおよびトランスレーターを
制御する組織変数を変更します。各フェーズは安全に再実行できます:
disabledは、両方の変数をfalseに設定し、all可視性を指定します。pilotは、両方の変数をtrueに設定し、selected可視性を docs-control に限定します。allは、選択されたパイロットの exact-head レビュー受領書と 12 ロケールの翻訳公開を検証した後にのみ、両方の変数をtrueに設定し、all可視性を指定します。
このワークフローは、既存のガバナンス個人アクセス トークン、制限付き GitHub API 再試行、および 構造化された進行状況ハートビートを使用します。GitHub アプリや GitHub Enterprise 機能は必要ありません。
branch_protection
Section titled “branch_protection”ブランチ保護ルールの配列。各エントリは branch 名と目的の保護設定を指定します。現在、main のみが保護されています。
主要フィールド:
enforce_admins: true— 保護ルールはリポジトリ管理者にも適用されますrequired_status_checks.strict: true— ブランチはマージ前に最新の状態である必要がありますrequired_status_checks.contexts— ダウンストリームリポジトリが合格する必要があるチェック名(例:Check linked issuesおよびlint / Shell Unit Tests)required_status_checks.self_contexts— docs-control 自体が合格する必要があるチェック名(例:Check linked issuesおよびShell Unit Tests)required_pull_request_reviews— すべての変更がプルリクエスト経由で入力されることを要求しますが、required_approving_review_count: 0により手動承認はオプションのままとなり、却下およびバイパスリストは 空のままですrestrictions: null— ブランチ保護以外のプッシュ制限はありません
contexts と self_contexts
Section titled “contexts と self_contexts”ダウンストリームリポジトリの再利用可能なワークフローチェックでは <caller_job_key> / <reusable_job_name> が使用され、docs-control はベアジョブ名を報告します。リンクされた Issue のゲートは例外で、そのスケジュールされたワークフローはコミットステータス Check linked issues をすべてのリポジトリに直接発行するため、contexts と self_contexts の両方でその正確な名前を使用する必要があります。
self_contexts フィールドは、docs-control 自体に適用されるチェック名を格納します。強制 の際、ワークフローはソースリポジトリで実行されているかどうかを検出し、ブランチ保護を適用する前に self_contexts を contexts に置き換えます。self_contexts フィールドは、ペイロードを GitHub API に送信する前に常に削除されます。
Shell Unit Tests は、統一されたリポジトリテストゲートです。再利用可能なワークフローは常にこれを報告します。コンシューマーリポジトリはすべての tests/test-*.sh ファイルを実行し、一致するテストがないリポジトリは明示的なテストなしメッセージで成功を報告します。これにより、リポジトリごとのオプトインリストに頼るのではなく、リポジトリのシェルテストがデフォルトで必須になります。
コンシューマーシェルテストプロファイル
Section titled “コンシューマーシェルテストプロファイル”デフォルトでは、ルートレベルの各 tests/test-*.sh スクリプトが、プロビジョニングされていない GitHub ホストランナー上で密閉(hermetic)状態であると想定されます。そのグロブの下にコンテナまたはサービスの統合テストも保存するリポジトリには、repo-settings.json 内に consumer_shell_tests.profiles エントリが必要です。
各プロファイルは、一致する完全なインベントリを分類します:
unitエントリには、テストのpathとargs配列が含まれます。ランナーはシェル評価を行わずに、各引数を文字通り渡します。environmentエントリには、テストのpathと、ベアランナーのユニットゲートがそれを実行できない理由を説明する空でないreasonが含まれます。
再利用可能なワークフローは、同じ docs-control の main リビジョンからセレクターと設定を取得し、そのリビジョンを記録して、実行前にインベントリを検証します。設定の欠落、安全でないパスまたは引数、重複するパス、未分類または欠落しているテストは、必須のコンテキストを失敗させます。これにより、プロファイルは無視リストではなく、監査された分類契約になります。プロファイルのないリポジトリは、広範なデフォルトを維持します。
xcsh のオーバーライドは、そのリポジトリが再利用可能な Super-Linter ワークフローを呼び出さないため、両方の Super-Linter コンテキストを除外します。ネイティブの check、pii-guard、および test コンテキストは引き続き必須です。除外が追加される前に、実機検証によって除外が必要であることを証明する必要があります。
paths または paths-ignore フィルターを持つワークフローからのコンテキストを必須にしないでください。ワークフローが開始されない場合、GitHub はそのコンテキストを保留状態のままにします。広範なセキュリティツールは、フィルタリングされていないプルリクエストワークフロー、またはスケジュールされたフルツリー監査で実行する必要があります。管理されたワークフローセキュリティ監査では、zizmor に後者のモデルを使用します。スキップされたジョブは引き続き成功したチェックを報告するため、ジョブレベルの条件は安全です。
topics
Section titled “topics”リポジトリに適用する GitHub トピックの配列。現在は空です — トピックは強制されません。
GitHub Pages 設定:
enabled: true— 登録されたすべてのリポジトリで Pages が有効になっていることを確認しますbuild_type: "workflow"— Pages のビルドに GitHub Actions を使用します(従来のブランチベースのビルドではありません)
managed_files
Section titled “managed_files”ファイル同期マニフェストを定義します:
source_repo— 管理対象ファイルの正規バージョンを保持するリポジトリ (f5-sales-demo/docs-control)files— docs-control 内のソースパスをダウンストリームリポジトリ内の送信先パスにマッピングする{src, dest}オブジェクトの配列
ファイル同期ワークフロー はこの配列を反復処理してドリフトを検出および修正します。ここにリストされていないファイル(dependabot.yml や README.md など)は、静的ソースから同期されるのではなく、動的に生成されます。