Install & correctly use appCN React Native / Expo components, streamed from the live registry.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Copy-paste mobile components for React Native + Expo.
A shadcn-philosophy library: you own the source, NativeWind styles the surface, Reanimated drives the motion β and the featured AI-native collection ships streaming bubbles, prompt composers, reasoning traces, and a reactive 3D voice orb.
Browse components Β· CLI docs Β· Mobile app Β· Live showcase Β· GitHub
The CLI handles NativeWind + Reanimated wiring and registers the @app-cn
shadcn namespace for you. One command to set up, one to add a component.
Prefer your own pipeline? appcn add is a thin wrapper around shadcn β you can
skip the CLI entirely:
Building with an AI agent? Add the appCN MCP server so Claude Code, Cursor, or Windsurf can discover and install components for you β and write new code in appCN's motion/haptic style:
See MCP docs for Cursor / Windsurf / VS Code config.
Status: v0.1.0 live on npm. Five components shipped β the AI collection is the marketed wedge and is the first place to land new work.
New: appCN is live on real phones β scan a QR with Expo Go and the entire component gallery loads on Android or iPhone in seconds. No emulator, no developer account. Standalone Play Store APK is in review β shipping soon.
| Component | Delight |
|---|---|
Button | Spring-y press scale to 0.96, settles in 140 ms β feels weighted, never twitchy |
| Component | Delight |
|---|---|
StreamBubble | Three-phase thinking β token stream β settle |
PromptInput | Send morphs into a stop with a spinning ring |
ReasoningTrace | Auto-collapses the instant the answer lands |
VoiceSphere | Reactive 3D orb that breathes with voice level |
Every component has an interactive web preview, a QR you can scan with Expo Go to run it live on your phone, and a video β same code path on every surface. β appcn.vercel.app/components
appcn CLI, the shadcn registry, @app-cn/ui
from npm β or the MCP server, so your AI coding agent installs components
for you. Same primitives, your call.duration / easing / spring), one delight detail per component.| Surface | What's there |
|---|---|
| appcn.vercel.app | Live docs site β landing, every component, live previews |
| CLI docs | init, add, env vars, the idempotency contract |
| Mobile app | Play Store + Expo Go install paths, deep-link contract |
CLAUDE.md | Architecture, monorepo map, commands, Metro/Reanimated gotchas |
DESIGN.md | Taste layer β motion rules, the "one delight detail" rule, the 8-step SOP |
CONTRIBUTING.md | Dev setup, the Changesets release flow, PR conventions |
AGENTS.md | Cross-tool guide for AI coding agents (Claude / Cursor / Windsurf / Codex / Aider) |
Every new component ships through the 8-step SOP in DESIGN.md β Component checklist. Don't skip steps β the PR template enforces them and a missing changeset blocks the release pipeline.
Working with an AI agent? Invoke the /new-component Claude skill β it
walks the checklist, drops a typed <slug>.meta.ts template ready to fill,
wires the registry + showcase entries, and verifies with typecheck + registry
build.
Full guide: CONTRIBUTING.md.
Releases are driven by Changesets and published to npm via OIDC Trusted Publishing β zero long-lived secrets.
Every published version gets a verified provenance badge on npm.
| Project | Vercel root directory | What it serves |
|---|---|---|
| Docs | apps/web | Landing, /components/*, /docs/*, the shadcn registry at /r/*.json |
| Showcase | apps/showcase | Expo web export β the iframe target for interactive previews |
Deploy order (matters):
apps/showcase) so you have a URL.NEXT_PUBLIC_SHOWCASE_WEB_URL to that URL.appcn.vercel.app β docs, appcn-showcase.vercel.app β showcase).Required env vars (docs project):
| Variable | Value |
|---|---|
NEXT_PUBLIC_SHOWCASE_WEB_URL | https://<showcase-project>.vercel.app |
NEXT_PUBLIC_EXPO_URL | (empty for v1 β needs EAS Update for the QR tab) |
NEXT_PUBLIC_REGISTRY_URL | https://<docs-domain>/r |
The showcase project needs no env vars. Defaults live in
apps/web/.env.example.
Inspired by shadcn/ui's copy-paste philosophy and react-native-reusables's docs-site polish. Built on top of NativeWind, Reanimated, and Expo.
MIT β you own the code.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/appcn)<a href="https://allmcps.com/mcp/appcn"><img src="https://allmcps.com/api/badge/appcn?style=directory" alt="AppCN on AllMCPs" /></a>