About ra-ui

An open-source React Native component library inspired by shadcn/ui. Copy-paste components directly into your project with a single CLI command.

🎯

Our Mission

React Native development should be fast and simple. We built ra-ui so developers can spend less time building basic UI and more time building great products. Every component is designed to be production-ready, fully typed, and completely dependency-free.

📦

47+

Components

🔗

0

Dependencies

💎

100%

TypeScript

💚

Free

Forever

Why ra-ui?

📦

No Dependencies

Every component uses only React Native core primitives — Pressable, View, Text, StyleSheet. Nothing else to install.

✏️

Full Ownership

Components are copied into your project. You own every line. Edit, extend, or rewrite — no lock-in.

One Command

Run npx ra-ui add button and the component is in your project. No init, no config, no setup.

🆓

Free Forever

Powered by jsDelivr CDN with auto-purge on every push. No rate limits, no cost, no catch.

🎨

Consistent Design

All components follow the same color palette, spacing system, and interaction patterns from a real production app.

📱

Built for RN

Not a web port. Every component is built specifically for React Native with proper mobile patterns.

How it works

1

Components live on GitHub

All component .tsx files are stored in a public GitHub repo with a registry.json that lists metadata.

2

CDN serves them globally

jsDelivr mirrors the repo to 200+ edge servers worldwide. Cache auto-purges on every push via GitHub Actions.

3

CLI fetches and copies

The ra-ui CLI reads the registry, downloads the file, and writes it directly into your project folder.

4

You own the code

The component is now a regular file in your project. No runtime dependency on ra-ui. Edit it however you want.

Architecture

Your Terminal              GitHub Repo              jsDelivr CDN
┌──────────────┐     ┌──────────────────┐     ┌──────────────┐
│ npx ra-ui    │────>│ registry.json    │────>│ Cached copy  │
│   add button │     │ components/      │     │ 200+ servers │
│              │<────│   button.tsx     │<────│ worldwide    │
└──────┬───────┘     └──────────────────┘     └──────────────┘
       │
       ▼  writes file
┌──────────────┐
│ Your Project │
│ src/         │
│  components/ │
│   ui/        │
│    button.tsx│ ← you own this
└──────────────┘

Tech Stack

🔧

CLI

Node.js + Commander

🌐

CDN

jsDelivr (unlimited)

📂

Registry

GitHub public repo

📱

Components

React Native + TS

💻

Website

Next.js + Tailwind

⚙️

CI/CD

GitHub Actions

Contributing

Want to add a new component? Four simple steps:

1

Fork the repo

Fork ranjeet-zet/ra-ui-registry on GitHub

2

Add your component

Create a .tsx file in components/ folder

3

Update registry

Add entry to registry.json with metadata

4

Open a PR

Submit a pull request and we'll review it