rnx-kit is a free, open source frameworks & platforms project written in TypeScript and released under MIT. It has 1,737 GitHub stars, 119 forks and 9 open issues, and was last pushed 9 hours ago. On this registry it ranks #79 of 103 tracked projects in Frameworks & Platforms, with 5 head-to-head comparisons available.

What is rnx-kit?

rnx-kit is a collection of MIT-licensed TypeScript tools built by Microsoft engineers for React Native developers who need to manage dependencies, bundle code, and build mobile apps consistently across large projects.

What it is

rnx-kit is a set of command-line and build tools for the React Native ecosystem, created by Microsoft engineers and maintained as open source under the MIT License. It ships as a set of individual tools that can be used one at a time or installed together through an "all in one" CLI, and it targets platforms including Android, iOS, macOS, desktop, and mobile development. The project's stated aim is to optimize the React Native developer experience and fill gaps in the surrounding tooling.

The concrete problems it addresses are dependency drift and bundler limitations in large codebases. In a big project, package versions can silently diverge between packages, which align-deps corrects by ensuring consistent dependency versions. Bundling with Metro, by default, does not validate TypeScript, prune dead code, or report problematic dependency graphs, and heavy native toolchains must usually be installed locally to produce Android and iOS binaries. rnx-kit addresses each of these through specific tools rather than a single monolithic framework.

Key capabilities

  • align-deps manages and aligns dependency versions across large multi-package projects.
  • metro-serializer extends Metro to add TypeScript validation during bundling.
  • The same Metro extension enables tree shaking to remove unused code.
  • metro-serializer detects duplicate dependencies and cyclic dependencies in the bundle graph.
  • build builds Android and iOS apps in the cloud, marked experimental, avoiding local installation of heavy native toolchains.
  • A Babel preset for Metro provides opinionated defaults tailored to Microsoft usage.
  • An "all in one" CLI installs and exposes most of the tools for a project at once.

Who uses it and how

  • Teams shipping React Native apps at scale, since the README states the tools are used every day to ship apps across Microsoft.
  • Large multi-package repositories where dependency versions must stay consistent, using align-deps as part of the workflow.
  • Projects that want to run TypeScript checks and tree shaking inside the Metro bundling step rather than in a separate pass.
  • Teams that prefer not to install Android and iOS toolchains on developer machines, using the cloud-based build command instead.
  • Individual developers evaluating a single tool in isolation, since each tool has its own README in the documentation's Tools section.

Getting started

The documentation website's Introduction guide walks through adding the "all in one" CLI to a project, while the Getting started guide covers adopting align-deps on its own; individual tools are documented separately in the Tools section.

How it compares

rnx-kit does not present itself as a replacement for a competing React Native toolkit; instead it fills specific gaps in the React Native tooling ecosystem around dependency alignment, Metro bundling, and cloud builds. Its Metro-related additions build on top of Metro itself rather than replacing it, so it composes with an existing React Native setup instead of requiring a migration.

When to use it — and when not

A team adopting it should note that the native cloud build tool is explicitly marked experimental, so it is better suited to experimentation or non-critical pipelines than to a hard release dependency. Developers who need nothing beyond stock React Native bundling, or who require a tool with a different licence or ownership model, should evaluate alternatives, and the Microsoft-tailored Babel defaults may not match every team's conventions. The README is relatively brief and points readers to the documentation site for detail, so the depth of each tool's capabilities is best assessed there before committing.

project readme (upstream, from github) — read inline

rnx-kit - React Native tooling by and for developers

Open in Visual Studio Code Build

rnx-kit is a collection of battle-tested tools created by Microsoft engineers to optimize the React Native developer experience. It helps fill gaps in the React Native ecosystem and streamlines the developer workflow.

These tools are actively used every day to ship React Native apps at scale across Microsoft; now they're open source and available for any React Native project.

What's included

rnx-kit includes tools for:

  • Dependency management - Ensure consistent dependency versions across large projects with align-deps.
  • Native builds (experimental) - Build Android and iOS apps in the cloud with build. Avoid installing heavy native toolchains.
  • Better bundling - metro-serializer allows the enhancement of Metro to add features such as TypeScript validation with Metro, tree shaking, duplicate and cyclic dependencies detection.
  • Microsoft-tailored defaults - you can find Babel preset for Metro opinionated for Microsoft usage.

And many more!

Get started

Please follow Introduction guide on the documentation website to learn about how you can quickly add the "all in one" CLI to your project and get most of the tools set out of the box.

Or follow the Getting started guide for an easy introduction to our dependency management tool.

If you want to use only a specific tool, you can refer to its README for details; they are all easily readable in the Tools section of the documentation.

Contributing

rnx-kit is built for the community, by the community - and maintained by Microsoft engineers. Your contributions are welcome!

Take a look at CONTRIBUTING for details.

If you are interested in proposing "substantial" changes, please refer to our RFC process.

License

MIT License

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Frequently asked questions

Is rnx-kit free to use?

rnx-kit is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does rnx-kit do?

Modern, scalable tools. Exceptional developer experience.

What is rnx-kit written in?

rnx-kit is primarily written in TypeScript. Its source is publicly available at https://github.com/microsoft/rnx-kit, and it has 1,737 GitHub stars.