Got a React Native component? Add it to the registry.
VibeKit Native is community-driven. If you've built a reusable auth screen, chat UI, commerce component, or UI primitive — anything that works across Expo projects — open a PR. We merge weekly.
Build once. Ship in every project.
A merged component ships with every npx vibekit-native install — not just yours.
Distribution
Your component ships with every npx vibekit-native install and gets a permanent entry on the registry page — indexed by search engines and AI agents.
Credibility
VibeKit Native is opinionated — making the cut signals your component is production-ready on iOS and Android, not a weekend prototype.
Ecosystem
Every developer using the registry installs your component. It becomes part of the default toolkit for building Expo apps with AI.
From idea to merged in 4 steps.
No bureaucracy. Just a component that works on both platforms.
- 01
Build the component
Create a React Native component using NativeWind v4 with the dark design system. It must work on both iOS and Android. Use TypeScript, Zod for validation if applicable, and follow the existing component patterns (see any file in packages/components/ for reference).
- 02
Test it in a real Expo project
Create a fresh Expo project, install the component manually, and verify it renders correctly on iOS simulator and Android emulator. Test dark backgrounds, long content, and edge cases (empty states, loading, errors).
- 03
Open a PR
Fork the repo, add your component file to packages/components/ in the right category folder, update scripts/generate-registry.ts with the entry, run the script to regenerate registry.json, and open a pull request. The PR template walks you through the checklist.
- 04
Review & merge
We review weekly. Most PRs need one or two iterations on code quality or design consistency. Once merged, your component ships in the next CLI release.
Must match the system.
Every component must follow the dark-only design tokens. See the reference guide on GitHub for exact colors, spacing, and radius.
- Dark background (#0A0A0A), elevated surface (#121212), indigo accent (#6366F1)
- NativeWind v4 for all styling — no StyleSheet.create, no inline style objects
- TypeScript with strict types — no any, no unsafe casts
- Zod validation for any form or input component
- Works on iOS and Android — test both before submitting
- Handles loading, error, and empty states where applicable
- Expo SDK 55+ compatible — no bare RN-only dependencies
Ready to ship?
Fork the repo, add your component, open a PR. We'll review within a week.
Not ready to PR? Join the WhatsApp community, star the GitHub repo, or open a GitHub Discussion.