Skip to content

f4ah6o/moonrepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

moonrepo

MoonBit / Rust の dependency を複数リポジトリに対して一括で更新・運用するための管理リポジトリです。 モノレポではありません。

目的

  • 複数の非 monorepo なリポジトリをまとめて clone / update
  • moon-dst を使って依存更新を一括で実行
  • moon fmt/check/build/clean/test を turbo 風に一括実行

前提

  • gh(GitHub CLI)
  • just
  • moon / moon-dst
  • jq
  • skop(skill 初期化を使う場合)

初期セットアップ

skill を明示的に初期化する場合:

just skills-init

使い方

  1. repository.ini を初期生成

GitHub topic で対象 repo を絞り込みます(OR 条件)。初期状態は全てコメントアウトしています。

just init <owner> --topics moonbit rust

--topics 未指定時は moonbit rust が使われます。

  1. repository.ini# / ; コメントを外して有効化

  2. clone(初回)

just clone
  1. pull(既存リポジトリの更新)
just pull

一括系 recipe は既定で repository.ini の有効行だけを対象にします。repos/ にある全 clone を対象にしたい場合は REPO_SCOPE=cloned を明示します。

just --set REPO_SCOPE cloned status-all
  1. 依存更新
just deps-apply-all
  1. topic 運用

既存 .mbt 命名ルールで拾える repo に moonbit topic を追加する migration(dry-run 既定):

just topics-migrate-moonbit
just topics-migrate-moonbit --apply

repository.ini の有効行に任意 topic を追加(dry-run 既定):

just topics-add-from-ini rust
just topics-add-from-ini rust --apply

よく使うコマンド

  • 前提と対象状態の確認
    • just doctor
  • 余剰 clone の確認 / 削除
    • just repos-prune
    • just repos-prune --apply
  • 依存の一覧
    • just deps-scan-all
  • 依存更新(dry-run)
    • just deps-apply-all --dry-run
  • topic migration(dry-run / apply)
    • just topics-migrate-moonbit
    • just topics-migrate-moonbit --apply
  • repository.ini 対象に topic を追加(dry-run / apply)
    • just topics-add-from-ini rust
    • just topics-add-from-ini rust --apply
  • justfile 追加
    • just deps-just-all
  • moon 一括
    • just moon-fmt-all
    • just moon-check-all
    • just moon-build-all
    • just moon-clean-all
    • just moon-test-all
  • 全 clone を対象にしたい場合
    • just --set REPO_SCOPE cloned <recipe>
  • repos/ を全削除して作り直す
    • just --set FORCE 1 clean
    • just --set FORCE 1 cclone
  • failed workflow の rerun(dry-run 既定)
    • just gh-runs-rerun-failed-all
    • just gh-runs-rerun-failed-all --apply

詳細

運用フローは AGENTS.md を参照してください。

About

moonrepo just like monorepo

Resources

Stars

Watchers

Forks

Contributors