@aniui/cli
v0.5.0
Published
Beautiful React Native components. Copy. Paste. Ship.
Maintainers
Readme
AniUI is a shadcn/ui-inspired component library for React Native. Instead of installing a package, you copy component source files directly into your project. You own the code. Customize everything.
Built with Uniwind (recommended) or NativeWind, rn-primitives for accessibility, lucide-react-native icons, class-variance-authority, and strict TypeScript. 101 components + 15 pre-built screen blocks.
Demo: Live Preview (Expo Go) | Docs
Quick Start
# npm
npx @aniui/cli init
# pnpm / yarn / bun
pnpm dlx @aniui/cli init
yarn dlx @aniui/cli init
bunx @aniui/cli initOn Expo SDK 55+ (New Architecture), init defaults to Uniwind — 2–3× faster than NativeWind, Tailwind v4 CSS-first, no Babel transform. NativeWind is fully supported and stays the default on Old-Arch / Expo ≤54:
npx @aniui/cli init --style uniwind # default on Expo 55+
npx @aniui/cli init --style nativewind # NativeWind (v4 stable / v5 preview via --nw)The CLI auto-detects your project (Expo/Bare RN), installs missing dependencies (via expo install on Expo so versions are SDK-pinned), and configures Metro/Babel/Tailwind/global.css. Then add components:
npx @aniui/cli add button card input textCLI Commands
| Command | What it does |
|---------|--------------|
| init | Set up AniUI: pick engine (Uniwind/NativeWind) + theme, install deps, write config. Flags: --style <uniwind\|nativewind>, --nw <v4\|v5>, -y/--yes. |
| add <components...> | Copy component source into your project, resolving registry + npm deps. |
| add-block <blocks...> | Copy a pre-built full screen (login, signup, chat, pricing, …). |
| theme | Switch theme preset: default, blue, green, orange, rose. |
| status | Show installed components and available updates. |
| diff <name> | Show differences between your local component and the latest upstream. |
| update <names...> | Update installed components to the latest version. |
| doctor | Diagnose setup — deps, config files, known conflicts — and tell you what to fix. |
| mcp | Print MCP server configuration for AI tools. |
| generate | Generate a screen with AI (requires ANTHROPIC_API_KEY). |
Supports TypeScript and JavaScript (tsx: false).
Use with the shadcn CLI or React Native Reusables
The full catalog is also published as a shadcn-compatible registry at https://aniui.dev/r, so you can install AniUI components with the shadcn CLI or the React Native Reusables (RNR) CLI — without the aniui CLI.
# shadcn CLI — add the namespace to components.json, then:
# "registries": { "@aniui": "https://aniui.dev/r/{name}.json" }
npx shadcn@latest add @aniui/button
# …or by raw URL (works with shadcn AND the RNR CLI):
npx shadcn@latest add https://aniui.dev/r/button.json
npx @react-native-reusables/cli@latest add https://aniui.dev/r/card.jsonIf you already have an RNR / NativeWind / Uniwind project, components drop in with zero extra setup — AniUI uses the same theme tokens and ui/lib aliases. See the shadcn / RNR registry guide.
Components
101 components in cli/src/registry.ts (tiers 1–3; the source of truth for installs and the registry):
- Tier 1 — light deps (cva / RN core): inputs, display, layout, and form helpers — Button, Card, Text, Calendar, Breadcrumb, ChartTooltip, ImageGallery, AvatarGroup, KeyboardView, PromptInput (ChatGPT/Claude-style AI composer), ThemeProvider, and more.
- Tier 2 —
react-native-reanimated: Skeleton, Drawer, Collapsible, Sidebar, Connection Banner, Typing Indicator, StreamingText (typewriter AI responses), Waveform (voice recording bars). - Tier 3 — extra packages:
@rn-primitives/*,@gorhom/bottom-sheet,react-native-svg(charts, Gradient),react-native-gesture-handler— e.g. Checkbox, Accordion, Command Menu, Bottom Sheet, SwipeDeck, SlideToConfirm, Area/Line/Pie charts.
Component icons use lucide-react-native — init installs it automatically, and add lists it whenever a component needs it. Icon props (icon, leadingIcon, …) accept any ReactNode, so you can bring your own icons.
Plus 15 blocks (full screens) via add-block.
Compatibility
| | Status |
|---|---|
| Expo | ✅ SDK 53, 54, 55, 56 & 57 |
| Bare React Native | ✅ 0.76+ |
| Uniwind | ✅ Recommended / default on Expo 55+ |
| NativeWind | ✅ v4 (stable) + v5 (preview) — supported |
| npm / pnpm / yarn / bun | ✅ All supported |
| TypeScript | ✅ Strict |
| JavaScript | ✅ Via CLI (tsx: false) |
| New Architecture | ✅ (required for Uniwind) |
| Old Architecture | ✅ SDK 53/54 only (NativeWind) |
| iOS | ✅ 15+ |
| Android | ✅ API 24+ |
Try on device: Scan with Expo Go
Links
License
MIT
