Interactive TUI and CLI tool to scaffold production-ready React Native projects using Clean Architecture.
This tool downloads a preconfigured template and helps you quickly bootstrap scalable mobile applications with best practices already in place.
Perfect for:
- starting new React Native projects
- teams using Clean Architecture
- rapid prototyping
- AI-assisted development workflows
You can initialize a new project directly without installing the CLI globally:
npm init react-native-tuibunx create-react-native-tui
# or
npx create-react-native-tuiIf you prefer to have the commands available everywhere:
npm install -g create-react-native-tui
# Now you can use the following command:
react-native-tui- 🚀 Scaffold new projects from a production-ready template
- 🧱 Clean Architecture structure
- 📦 Automatic template download from GitHub
- 🧹 Clean caches (Android, iOS, Node Modules, Watchman)
- 🍏 Install CocoaPods
- 🤖 Run Android emulator
- ⚡ Works with npm, npx, and bunx
- Node.js >= 18.0.0
- Bun (optional, for faster execution)
The CLI downloads the latest template from:
- GitHub: alejandro-technology/react-native-template
- Branch:
main
- TUI Interactivo: Ejecuta
react-native-tuisin argumentos para iniciar la interfaz de terminal interactiva - CLI Headless: Usa comandos y flags para ejecutar operaciones sin interacción (ideal para CI/CD y agentes AI)
Crea un nuevo proyecto React Native desde la plantilla preconfigurada.
| Flag | Descripción |
|---|---|
--name |
Nombre del proyecto (ej: MyApp) |
| Flag | Descripción | Valor por defecto | Valores válidos |
|---|---|---|---|
--bundle-id |
Bundle ID de la aplicación | com.company.<nombre-proyecto> |
Cualquier bundle ID válido |
--directory |
Directorio donde se creará el proyecto | ./<nombre-proyecto> |
Ruta válida |
--pm |
Gestor de paquetes | npm |
npm, yarn, pnpm, bun |
--install-deps |
Instala dependencias automáticamente | false |
- |
--pod-install |
Instala CocoaPods automáticamente (solo iOS) | false |
- |
--ai |
Proveedores de IA para configurar (separados por comas) | [] |
claude, opencode, trae |
--backend |
Backend a configurar | none |
none, firebase |
--firebase-modules |
Módulos de Firebase a habilitar (si --backend=firebase, separados por comas) |
auth,firestore,storage |
auth, firestore, storage |
--json |
Salida en formato JSON (para consumo programático) | false |
- |
# Básico (solo nombre)
react-native-tui scaffold --name MyApp
# Completo con todas las opciones
react-native-tui scaffold \
--name MyApp \
--bundle-id com.empresa.myapp \
--directory ~/projects/myapp \
--pm bun \
--install-deps \
--pod-install \
--ai claude,trae \
--backend firebase \
--firebase-modules auth,firestore
# Con salida JSON
react-native-tui scaffold --name MyApp --jsonLimpia cachés y carpetas de compilación.
| Flag | Descripción |
|---|---|
--target |
Objetivo a limpiar |
| Valor | Descripción |
|---|---|
android |
Limpia carpeta de compilación de Android |
ios |
Limpia carpeta de compilación de iOS |
node-modules |
Elimina carpeta node_modules |
watchman |
Limpia caché de Watchman |
all |
Limpia todo lo anterior |
| Flag | Descripción |
|---|---|
--json |
Salida en formato JSON |
# Limpiar Android
react-native-tui clean --target android
# Limpiar todo
react-native-tui clean --target all
# Con salida JSON
react-native-tui clean --target ios --jsonMuestra la versión del CLI.
react-native-tui versionMuestra la ayuda del CLI.
react-native-tui helpPara consumo programático, agrega el flag --json a cualquier comando. Los logs intermedios se envían a stderr, y el resultado final se imprime en stdout como un objeto JSON tipado.
Salida JSON de éxito:
{
"success": true,
"output": "✅ Setup complete!\n..."
}Salida JSON de error:
{
"success": false,
"error": "Missing required flag: --name"
}Contributions are welcome. Fork the repository Create your feature branch Commit changes Open a Pull Request
MIT