Skip to main content
skill CX Codex

rnrepo — Claude Code skill: what it does, how to install

Guides the setup and troubleshooting of RNRepo in React Native and Expo projects, cutting native build times by up to 2× with prebuilt artifacts.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add software-mansion-labs/skills --skill rnrepo -a claude-code
Open on GitHub

What rnrepo does

This skill guides the integration of RNRepo into React Native and Expo CNG projects. The tooling replaces local dependency compilation with prebuilt binaries from packages.rnrepo.org. A Gradle plugin handles Android dependencies, while CocoaPods manages iOS. When a prebuild is unavailable, the pipeline falls back to building from source code.

Setup differs by project type. Expo relies on @rnrepo/expo-config-plugin, whereas bare React Native requires @rnrepo/build-tools and edits to android/build.gradle, android/app/build.gradle, and ios/Podfile. Keep in mind that RNRepo requires the New Architecture: attempting to use it on legacy architectures will fail, as it only supports latest patches of 0.77, 0.78, 0.79, and versions above 0.80.0.

Libraries containing native patches in Kotlin, Java, or Objective-C must be excluded via denyList in rnrepo.config.json. You can also bypass the entire mechanism by exporting DISABLE_RNREPO=1 before your build.

What it helps with

  • Cut React Native native build times by up to 2×
  • Configure @rnrepo/expo-config-plugin for Expo CNG projects
  • Set up @rnrepo/build-tools in Podfile and Gradle files
  • Exclude patched native libraries via denyList in rnrepo.config.json
  • Troubleshoot duplicate .so files and C++ debug release mismatches

Example prompts for the agent

  • Help me set up RNRepo in an Expo CNG project using @rnrepo/expo-config-plugin
  • How do I exclude a library with native patches using denyList in rnrepo.config.json?
  • Fix a build failure caused by duplicate .so files when using RNRepo

How to install rnrepo

1Skills CLI (Vercel)

npx skills add software-mansion-labs/skills --skill rnrepo -a claude-code

2Manually: put the files in place

~/.claude/skills/rnrepo/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/rnrepo/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about rnrepo

How to install rnrepo in Claude Code?

Run the command npx skills add software-mansion-labs/skills --skill rnrepo -a claude-code.

What does RNRepo do?

RNRepo cuts React Native native build times by up to 2×. It substitutes local compilation with prebuilt library binaries from packages.rnrepo.org using Gradle and CocoaPods plugins.

Which React Native versions are supported by RNRepo?

RNRepo is currently in beta and works strictly with the New Architecture. It requires the latest patch releases of 0.77, 0.78, 0.79, or any release above 0.80.0.

Source text

SKILL.md · MIT
---
name: rnrepo
description: "Best practices for integrating and using RNRepo — Software Mansion's infrastructure for pre-built React Native library artifacts that reduces native build times by up to 2×. Use when setting up, configuring, or troubleshooting RNRepo in a React Native or Expo project. Trigger on: 'RNRepo', 'rnrepo', 'slow builds', 'build times', 'prebuilt artifacts', 'prebuilt libraries', '@rnrepo/expo-config-plugin', '@rnrepo/build-tools', 'prebuilds-plugin', 'rnrepo.config.json', 'DISABLE_RNREPO', 'packages.rnrepo.org', 'Maven prebuild', 'CocoaPods prebuild', 'xcframework prebuild', 'prebuild AAR', 'build from source', 'native compilation slow', 'Gradle plugin slow', 'pod install slow', 'CI build times'."
license: MIT
---

# RNRepo

Software Mansion's infrastructure for pre-building and distributing React Native library artifacts, reducing native build times by up to **2×** with zero infrastructure changes.

Read the relevant reference for the topic at hand. All references are in `references/`.

## Key facts

- **Beta, New Architecture only.** Works with React Native latest patches of 0.77, 0.78, 0.79 and all versions above 0.80.0.
- **How it works:** A Gradle plugin (Android) and CocoaPods plugin (iOS) intercept the build and substitute libraries with prebuilt artifacts from `packages.rnrepo.org`. Falls back to source if a prebuild is unavailable.
- **Expo CNG:** Use `@rnrepo/expo-config-plugin` — it configures both Android and iOS automatically.
- **Standard RN:** Install `@rnrepo/build-tools` and edit `android/build.gradle`, `android/app/build.gradle`, and `ios/Podfile` manually.
- **Opt out per library:** Add a `rnrepo.config.json` with a `denyList` at the project root. Required for libraries with **native patches** (Objective-C/Java/Kotlin). JS-only patches do NOT require opting out.
- **Opt out entirely:** Set `DISABLE_RNREPO=1` environment variable before the build command.

## References

| File | When to read |
|------|-------------|
| `references/installation.md` | Setting up RNRepo for the first time — Expo CNG, standard React Native, Android Gradle, iOS CocoaPods |
| `references/configuration.md` | Opting out specific libraries (denyList), disabling the plugin, Fingerprint config, GPG verification |
| `references/troubleshooting.md` | Build failures, C++ debug/release mismatch, duplicate `.so` files, Xcode version issues, empty repository list, verifying the plugin works |

© software-mansion-labs · MIT · software-mansion-labs/skills

Similar skills

Everything for Mobile →

From the same set8

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor