A production-ready, fully animated React Native UI SDK with Unistyles
๐ Documentation ยท ๐ฏ Introduction ยท ๐ Quick Start ยท ๐ฐ๐ท ํ๊ตญ์ด
Fleet UI is a UI SDK for React Native that bundles theming (react-native-unistyles) + animation (react-native-reanimated) + components into a seamless workflow.
It helps you build production-ready UIs faster while maintaining a consistent design based on minimalism and fluid animations.
- Universal Minimalism: A minimal visual language centered on mobile UI/UX that looks natural anywhere.
- Radical Simplicity: Design so naturally that users operate it without thinking.
| Feature | Description |
|---|---|
| ๐จ Trendy Design | Production-ready design, iOS-inspired universal animations |
| ๐ฌ Animated | Smooth animations written with Reanimated only. High performance |
| ๐ ๏ธ Customizable | Easy to customize components for your own purposes |
| ๐ฆ Few Dependencies | Only need to import configuration file and Unistyles, no provider needed |
| ๐ Copy-Paste | Copy and paste only what you need |
| ๐งฉ Modular | Install only what you need |
Fleet UI isn't just a "component collection"โit also provides the system those components depend on.
- Mobile-first design: Includes common mobile screen patterns
- Theme/token system: Tokens designed in the
raw โ primitive โ semantic โ themeflow - Variants system: Combine axes like
colorScheme / variant / size ...for predictable styles - Accessibility (A11y) defaults: role/state/interaction patterns aligned consistently
- Motion/interaction defaults: Reanimated-based motion as component default behavior
- โ Cross-Platform: Works seamlessly on iOS, Android, and Web
- โ Type-Safe: Full TypeScript support
- โ Themeable: Built-in light/dark mode support with Unistyles
| Package | NPM | Description |
|---|---|---|
@fleet-ui/cli |
CLI tool for local installation | |
@fleet-ui/core |
Theme, tokens, and Unistyles configuration | |
@fleet-ui/components |
UI component library |
Fleet UI offers 2 installation tracks:
- Track A (Local Install): Use CLI to bring code into your project, then modify/override it "like your own code" (like shadcn/ui)
- Track B (Package Install): Install via package manager, update through version upgrades
๐ก Recommendation: Track A is easier to manage in most cases. See Choose a Track for guidance.
# Initialize Fleet UI core
pnpm dlx @fleet-ui/cli init
# Add components
pnpm dlx @fleet-ui/cli add Button Modal
# Validate configuration
pnpm dlx @fleet-ui/cli doctorYour entry file (app/_layout.tsx for Expo Router) will include:
import '@fleet-ui/local/core/unistyles';# Install packages
pnpm add @fleet-ui/core @fleet-ui/componentsAdd to your entry file:
import '@fleet-ui/core/unistyles';pnpm add react-native-unistyles react-native-reanimated react-native-gesture-handler react-native-workletsOptional dependencies (for specific components):
# Expo environments
npx expo install expo-blur expo-image expo-linear-gradient react-native-safe-area-context react-native-svgFleet UI uses a hierarchical token system designed for consistency, ease of change, and reduced decision cost.
Raw Value โ Primitive โ Semantic โ Theme โ (Component Consumption)
| Layer | Description |
|---|---|
| Raw Value | Actual values (colors, numbers) |
| Primitive | Rule-based minimal unit tokens (spacing scale, radius scale, color palette) |
| Semantic | Purpose/context-based tokens (background/text/border/action/state) |
| Theme | Final bundle used at runtime (light/dark) |
- โ Only reference lower layers (no reverse direction)
- โ No circular references
- โ Components consume only semantic where possible
- โ Minimize layer skipping
Learn more in the Token Architecture documentation.
import { Text, View } from 'react-native';
import { StyleSheet, useUnistyles } from 'react-native-unistyles';
const styles = StyleSheet.create((theme) => ({
container: {
backgroundColor: theme.colors.neutral.content_1,
padding: theme.spacing[4],
borderRadius: theme.rounded.md,
},
title: {
...theme.typography.body1,
color: theme.colors.neutral.text_1,
fontWeight: theme.text.fontWeight.semibold,
},
}));
export function Example() {
return (
<View style={styles.container}>
<Text style={styles.title}>Hello Fleet UI</Text>
</View>
);
}Visit the official documentation for comprehensive guides:
| Section | Description |
|---|---|
| Introduction | What Fleet UI solves and its design philosophy |
| Quick Start | Choose the right track for your team |
| Installation | Step-by-step installation guide |
| Fundamental | Understanding the design system structure |
| Theming | Theme registration and style composition |
| Token Architecture | Token hierarchy and file structure |
| FAQ | Common setup and build issues |
Test components in a real React Native environment:
# Start the playground
pnpm --filter playground start
# Run on iOS
pnpm --filter playground ios
# Run on Android
pnpm --filter playground android
# Run on Web
pnpm --filter playground web- Node.js >= 20.19.4
- pnpm >= 9.0.0
# Clone the repository
git clone https://github.com/Rengod95/Fleet-UI.git
cd Fleet-UI
# Install dependencies
pnpm install
# Build all packages
pnpm build# Watch mode for all packages
pnpm dev
# Run tests
pnpm test
# Type check
pnpm typecheck
# Lint
pnpm lintWe welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the Apache License 2.0 with Commons Clause.
โ You CAN:
- Use this SDK to build and ship your mobile applications (commercial or free)
- Modify the code for your own app's needs
๐ซ You CANNOT:
- Sell this SDK itself or a derivative version of it
- Create a commercial UI toolkit, template, or design system product based on this code
For more details, please see the LICENSE file.
ยฉ Rengod95
| Resource | Link |
|---|---|
| GitHub Repository | github.com/Rengod95/Fleet-UI |
| Documentation | fleet-ui.dev |
| NPM - @fleet-ui/cli | npmjs.com/package/@fleet-ui/cli |
| NPM - @fleet-ui/core | npmjs.com/package/@fleet-ui/core |
| NPM - @fleet-ui/components | npmjs.com/package/@fleet-ui/components |
Fleet UI was built following best practices from:
Made with โค๏ธ for React Native developers