「gh-infra」でリポジトリ設定を1行変えたら3つまとめて更新された
- 公開
- 正式公開 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-infra | GitHub 設定管理 | リポジトリの設定を YAML で宣言し、plan で差分を見てから apply | CLI(gh 拡張) | 無料(OSS, MIT) |
| gh-prism | PR レビュー | 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) |
| tfmv | Terraform 補助 | 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 を書いて管理できるようになります。