「gh-infra」でリポジトリ設定を1行変えたら3つまとめて更新された

gh-infra
GitHub のリポジトリ設定を YAML で宣言し、差分を確かめてから反映する gh 拡張
GitHub公式サイト
公開
正式公開 2026-03-24
作り手
babarot(個人)
対応
CLI(gh 拡張)
言語
英語
価格
無料(MIT ライセンス)
アカウント・広告
要 GitHub のトークン
評価
GitHub のスター 136(2026-10-12)

どんなアプリか

GitHub のリポジトリの設定を YAML で書いておき、コマンドで GitHub に反映する gh CLI の拡張です。README では、GitHub 向けの Terraform のようなもので、状態ファイルは要らないと説明しています。アプリやサーバーは使いません。

No state file. No HCL. Just YAML.

babarot さん、gh-infra 公式サイト

README の「Why」では、Terraform の GitHub Provider は個人や小さなチームで使うには大げさで、プロバイダーの導入、HCL、状態ファイルとそのロックが、設定を1つ変える前の手間になると書かれています。

流れは、今あるリポジトリの設定を import で YAML に書き出し、YAML を書き換え、plan で何が変わるかの差分を確かめ、apply で反映する、という順です。apply は実行前に確認を求めます。

RepositorySet を使うと、共通の初期値とリポジトリごとの上書きで複数のリポジトリをまとめて管理できます。ファイルを複数のリポジトリへ push か pull request で配る機能もあります。

CI でも動かせます。pull request ごとに plan を実行して結果をコメントに書き、マージで apply し、定期的に設定のずれを確かめる使い方が案内されています。

料金とデータの置き場所

MIT ライセンスで公開されています。状態ファイルは持たず、GitHub そのものを正とします。plan のたびに GitHub から今の設定を取ってきて YAML と比べるため、手元で保管したりロックしたりするものはありません。

同じ分野のアプリ

名前型仕掛け対応料金
gh-infraGitHub 設定管理リポジトリの設定を YAML で宣言し、plan で差分を見てから applyCLI(gh 拡張)無料(OSS, MIT)
gh-prismPR レビューGitHub の PR をターミナルでコミット単位に差分レビューCLI(gh 拡張、Rust)無料(OSS, MIT)
ghatsワークフロー生成GitHub Actions のワークフローを TypeScript で書いて YAML を生成CLI(npm)無料(OSS, MIT)
actrunローカル実行GitHub Actions のワークフロー YAML をそのままローカルで実行CLI(npx / ネイティブ / Docker)無料(OSS, Apache-2.0)
tfmvTerraform 補助Terraform のリソース名を一括で変え、moved ブロックも自動生成CLI(Go)無料(OSS, MIT)

入れる前に

必要なのは gh とトークンで、GitHub App やサーバーは要りません。インストールは gh extension install babarot/gh-infra の1行です。

フォルダを指定すると、その直下の YAML が対象になり、サブフォルダは見ません。GitHub Actions のワークフローなど gh-infra 用ではない YAML は黙って飛ばされ、–fail-on-unknown を付けるとエラーとして扱います。

Claude Code や Codex などのコーディングエージェント向けのスキルも任意で入れられ、エージェントが YAML を書いて管理できるようになります。