monorepo-setup-git について
monorepo-setup-git は、Editframe のモノレポと隣接する telecine、elements リポジトリの Git 規約をまとめたスキルです。変更のプッシュ先、スキルの同期方法、CI とデプロイの監視手順を説明します。
主な機能
- 01隣接リポジトリの配置を説明
- 02プッシュとプルの手順を定義
- 03スキルの同期方法を説明
- 04CI 監視用スクリプトを掲載
- 05telecine のデプロイゲートを説明
活用シーン
- 01プッシュ先のリポジトリとリモートを選ぶ
- 02モノレポからスキルを同期する
- 03デプロイやリリースのジョブを監視する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ editframe/ skills --skill monorepo-setup-gitインストール後、Claude Code で/monorepo-setup-gitを入力して読み込まれたか確認します。
詳細
モノレポの Git 設定
リポジトリの構成
telecine と elements は、モノレポと並んでクローンされた独立した兄弟リポジトリです。
~/Editframe/worktrees/<branch>/
monorepo/ # primary monorepo checkout
telecine/ # telecine repo clone
elements/ # elements repo clone
モノレポには 1 つのリモートがあります。skills → [email protected]:editframe/skills.git。
telecine と elements には、それぞれの GitHub リポジトリを指す origin があります。
Push/Pull ワークフロー
Telecine
兄弟リポジトリの telecine で直接作業します。そこから origin にプッシュします。
# From ~/Editframe/worktrees/<branch>/telecine/
git push origin main # push to telecine main
git push origin <branch> # push a branch
モノレポのルートから telecine をプッシュしないでください。
Elements
兄弟リポジトリの elements で直接作業します。
# From ~/Editframe/worktrees/<branch>/elements/
git push origin main
git push origin <branch>
git push origin v<version> # push a tag to trigger release CI
Skills
Skills は、用意されているスクリプトを使ってモノレポからプッシュします。
# From monorepo/
scripts/push-skills
これにより、skills リモート([email protected]:editframe/skills.git)にプッシュされます。
skills-sync タグは、最後に同期したコミットを示します。
git tag -f -a skills-sync HEAD -m "skills synced $(date -I)"
git push skills skills-sync
CI の監視
# Poll telecine deploy until complete
scripts/wait-for-telecine-action
# Poll elements release until complete
scripts/wait-for-elements-action
# Get failed job logs
scripts/gh-logs editframe/telecine
scripts/gh-logs editframe/elements
Telecine のデプロイゲート
telecine/main へのプッシュで CI が起動します。デプロイジョブは、build-runner、すべての docker (*) マトリックスジョブ、integration、typecheck、playwright がすべて成功した後にのみ実行されます。main への直接のプッシュは許可されています。デプロイは CI によって制御されます。
ブランチの標準的なフローは次のとおりです。
# From telecine/
git push origin <branch>
# Open PR on github.com/editframe/telecine, let CI pass, merge
# Then from monorepo/
scripts/wait-for-telecine-action