Sobre el proyecto

Stim es una herramienta de línea de comandos para ejecutar proyectos React Native y Expo en entornos locales rápidos y aislados, dirigida a agentes de codificación que necesitan compilar y ejecutar aplicaciones sin interferir entre sí. Cada proyecto o worktree de git obtiene su propio puerto Metro y su propio simulador o emulador dedicado, mientras que los artefactos nativos, los datos de compilación de Xcode, la salida de Gradle y las transformaciones de Metro se comparten entre worktrees. Esto permite que múltiples agentes trabajen en paralelo sin compartir recursos en vivo, y Stim puede limpiar cada recurso que crea. Admite tanto la CLI de la comunidad de React Native como proyectos Expo. Las compilaciones se ejecutan localmente por defecto, y una opción --eas-profile utiliza compilaciones de desarrollo EAS completadas en su lugar. Las aplicaciones pueden lanzarse en simuladores y emuladores dedicados, dispositivos físicos conectados o dispositivos remotos configurados. La instalación se realiza a través del paquete npm stim, que proporciona el comando stim. Requiere Node 22.12 o posterior y funciona en macOS, Linux y Windows: Android en todas partes, iOS localmente en macOS o mediante EAS desde cualquier host. El README señala que un paquete global stim-cli instalado previamente debe desinstalarse primero. También puede ejecutarse sin instalación global mediante npx. El ciclo típico es stim doctor, stim start, stim ios o stim android, stim logs --errors y stim stop. No se requiere inicialización del proyecto, y el estado en tiempo de ejecución vive bajo ~/.stim por defecto. La documentación está disponible en el sitio del proyecto y mediante guías integradas como stim guide agent, stim guide lifecycle y stim guide settings. El repositorio está organizado como un monorepo. El paquete stim proporciona la CLI. @stim-cli/metro comparte transformaciones de Metro y registra logs. @stim-cli/expo-build-cache permite que las compilaciones directas de Expo compartan artefactos nativos con Stim. @stim-cli/cache contiene el contrato del proveedor de caché y la coordinación del primer nivel local detrás de ambas cachés. @stim-cli/core contiene contratos internos compartidos de caché. @stim-cli/server sirve el estado de Stim a clientes de solo lectura emparejados, como una aplicación de teléfono, a través de Tailscale. El desarrollo utiliza pnpm con scripts de build, test, typecheck y lint. El proyecto tiene licencia MIT y es mantenido por App&Flow, un estudio de ingeniería y consultoría de React Native con sede en Montreal.