Skip to main content
Material Design 3 · React Native

Beautiful React Native apps, out of the box.

A design-system agnostic component library. Ships with Material Design 3, works with Expo and bare React Native, and stays out of your way when you want to customize.

16Components
100%TypeScript
0Config theming
MITLicensed
Why RootNative

Everything you need to ship, nothing you don't.

Design-system agnostic

Use Material Design 3 out of the box, build your own theme system, or mix both. The theme engine adapts to your design language.

Tree-shakeable

Every component has its own subpath export. Import only what you use — your bundle stays lean.

Accessible by default

Proper roles, labels, and accessibility states baked into every component. No extra configuration needed.

TypeScript first

Strict types, full IntelliSense, and autocomplete for every prop, theme token, and style override.

Customizable at every level

Override colors, styles, and variants across theme defaults, component props, or direct style overrides.

CLI scaffolding

Copy components directly into your project with the rootnative CLI. Own your code, customize freely.

Get started

Up and running in three steps.

01

Create

Scaffold a new Expo project with everything pre-configured.

npx rootnative create my-app
02

Add

Pick the components you need. They get copied into your project.

npx rootnative add button card
03

Build

Own the code. Customize freely. Ship with confidence.

npx expo start
Developer experience

Simple API, powerful results.

Theme-aware components with a clean, intuitive API. Wrap your app once and start building — every prop is typed and autocompletes.

Read the Docs
App.tsx
import { ThemeProvider } from '@rootnative/core'
import { Button } from '@rootnative/components/button'

export default function App() {
  return (
    <ThemeProvider>
      <Button
        variant="filled"
        onPress={() => console.log('Hello!')}
      >
        Get Started
      </Button>
    </ThemeProvider>
  )
}

Ready to build?

Get up and running in minutes with the CLI, or install the packages directly into an existing app.