rnrepo について
rnrepoは、Software MansionのRNRepoでReact Nativeライブラリのビルド済み成果物を使うための設定・トラブルシューティングスキルです。Expo CNGまたは標準的なReact Native構成への導入を案内します。
主な機能
- 01Expo CNGと標準React Nativeの設定
- 02Android GradleとiOS CocoaPodsの構成
- 03ライブラリ単位・全体の無効化
- 04ビルド問題のトラブルシューティング
活用シーン
- 01React NativeプロジェクトへのRNRepo導入
- 02ネイティブパッチのあるライブラリの除外
- 03ビルド済み成果物によるビルド失敗の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ software-mansion-labs/ skills --skill rnrepoインストール後、Claude Code で/rnrepoを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/configuration.mdinstallation.mdtroubleshooting.md詳細
RNRepo
Software Mansion のインフラストラクチャです。React Native ライブラリのアーティファクトを事前にビルドして配布することで、インフラストラクチャを変更せずにネイティブのビルド時間を最大 2× 短縮します。
該当するトピックのリファレンスをお読みください。すべてのリファレンスは references/ にあります。
主な情報
- ベータ版、新アーキテクチャのみ対応。 React Native 0.77、0.78、0.79 の最新パッチ版、および 0.80.0 以降のすべてのバージョンで動作します。
- 仕組み: Gradle プラグイン(Android)と CocoaPods プラグイン(iOS)がビルドをインターセプトし、ライブラリを
packages.rnrepo.orgの事前ビルド済みアーティファクトに置き換えます。事前ビルドが利用できない場合は、ソースにフォールバックします。 - Expo CNG:
@rnrepo/expo-config-pluginを使用すると、Android と iOS の両方が自動的に設定されます。 - 標準的な RN:
@rnrepo/build-toolsをインストールし、android/build.gradle、android/app/build.gradle、ios/Podfileを手動で編集します。 - ライブラリごとに無効化: プロジェクトのルートに
denyListを含むrnrepo.config.jsonを追加します。ネイティブパッチ(Objective-C/Java/Kotlin)があるライブラリでは必須です。JS のみのパッチでは無効化する必要はありません。 - 全体を無効化: ビルドコマンドの実行前に、環境変数
DISABLE_RNREPO=1を設定します。
リファレンス
| ファイル | 読むタイミング |
|---|---|
references/installation.md | RNRepo の初回セットアップ — Expo CNG、標準的な React Native、Android Gradle、iOS CocoaPods |
references/configuration.md | 特定のライブラリの無効化(denyList)、プラグインの無効化、Fingerprint の設定、GPG 検証 |
references/troubleshooting.md | ビルドの失敗、C++ のデバッグ/リリース不一致、重複する .so ファイル、Xcode のバージョンに関する問題、空のリポジトリ一覧、プラグインの動作確認 |
コメント
Markdown 対応