npm package: @omni-stove/ui
Description: React Native UI Component Library with Material Design 3 support for Expo applications.
Latest version: 2025.11.1

# @omni-stove/ui

React Native UI Component Library with Material Design 3 support for Expo applications.

## Overview

A comprehensive React Native UI component library built on Material Design 3 (M3) design principles. This library provides 50+ high-quality components optimized for Expo environments with full TypeScript support. Built on top of React Native Paper, it offers a complete solution for modern React Native applications.

🌐 **Live Demo**: View component examples at [ui.omnistove.com](https://ui.omnistove.com)

## Features

- Full M3 design system implementation with Material Design 3
- Optimized for Expo SDK 53+ environments  
- Complete type safety with TypeScript 5.8.3
- Built on the solid foundation of React Native Paper 5.12
- Web and native platform support
- Comprehensive component library with 50+ components
- Advanced theming with @pchmn/expo-material3-theme

## CLI Tool

This package includes a powerful CLI tool for component management and AI integration.

### Installation

```sh
npm install @omni-stove/ui
```

### Usage

#### Basic Commands

Display help information:

```sh
npx @omni-stove/ui --help
```

#### MCP Server

Start the Model Context Protocol (MCP) server for AI-assisted development:

```sh
npx @omni-stove/ui --mcp
```

The MCP server enables AI assistants (like Claude Desktop) to:

- Analyze component library structure
- Understand component relationships
- Provide intelligent code assistance
- Access component documentation

#### Component Extraction

Extract source components to your local project for customization:

```sh
# Extract all components (default: both platforms)
npx @omni-stove/ui --extract ./my-components

# Extract for specific platforms
npx @omni-stove/ui --extract ./components --platform web
npx @omni-stove/ui --extract ./components --platform native
npx @omni-stove/ui --extract ./components --platform both
```

**Platform Options:**

- `web`: Extract components optimized for Web
- `native`: Extract components for iOS/Android platforms
- `both`: Extract components for all platforms (default)

The CLI automatically:

- Checks project dependencies for the selected platform
- Validates compatibility requirements
- Notifies about missing dependencies
- Copies components with proper structure

#### Dependency Checking

The CLI includes intelligent dependency validation:

```sh
# Check dependencies before extraction
npx @omni-stove/ui --extract ./components --platform web
# Output: Checking web platform dependencies...
# Output: ✓ react-dom found
# Output: ✓ react-native-web found
# Output: Extracting components...
```

### CLI Options

| Option | Description | Default |
|--------|-------------|---------|
| `--extract <path>` | Extract components to specified directory | - |
| `--platform <type>` | Target platform (web/native/both) | both |
| `--mcp` | Start MCP server | - |
| `--help` | Display help information | - |

## Development

Built with modern tooling:

- Build tool using react-native-builder-bob
- Linting and formatting with Biome 1.9.4
- Testing framework using Vitest
- Code generation with Plop templates