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.
Up and running in three steps.
Create
Scaffold a new Expo project with everything pre-configured.
npx rootnative create my-appAdd
Pick the components you need. They get copied into your project.
npx rootnative add button cardBuild
Own the code. Customize freely. Ship with confidence.
npx expo startSimple 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 Docsimport { 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.