프로젝트 소개

Stim은 React Native 및 Expo 프로젝트를 빠르고 격리된 로컬 환경에서 실행하기 위한 명령줄 도구로, 서로 간섭하지 않고 앱을 빌드하고 실행해야 하는 코딩 에이전트를 대상으로 합니다. 각 프로젝트 또는 git 워크트리는 자체 Metro 포트와 자체 전용 시뮬레이터 또는 에뮬레이터를 가지며, 네이티브 아티팩트, Xcode 컴파일 데이터, Gradle 출력 및 Metro 변환은 워크트리 간에 공유됩니다. 이를 통해 여러 에이전트가 라이브 리소스를 공유하지 않고 병렬로 작업할 수 있으며, Stim은 이후 자신이 생성한 모든 리소스를 정리할 수 있습니다. React Native Community CLI와 Expo 프로젝트를 모두 지원합니다. 빌드는 기본적으로 로컬에서 실행되며, --eas-profile 옵션은 완료된 EAS 개발 빌드를 대신 사용합니다. 앱은 전용 시뮬레이터와 에뮬레이터, 연결된 실제 기기 또는 구성된 원격 기기에서 실행할 수 있습니다. 설치는 stim npm 패키지를 통해 이루어지며 stim 명령을 제공합니다. Node 22.12 이상이 필요하며 macOS, Linux, Windows에서 실행됩니다. Android는 모든 곳에서, iOS는 macOS에서 로컬로 또는 모든 호스트에서 EAS를 통해 실행됩니다. README에는 이전에 전역으로 설치된 stim-cli 패키지를 먼저 제거해야 한다고 명시되어 있습니다. 전역 설치 없이 npx를 통해 실행할 수도 있습니다. 일반적인 작업 흐름은 stim doctor, stim start, stim ios 또는 stim android, stim logs --errors, stim stop입니다. 프로젝트 초기화가 필요하지 않으며, 런타임 상태는 기본적으로 ~/.stim 아래에 저장됩니다. 문서는 프로젝트 사이트와 stim guide agent, stim guide lifecycle, stim guide settings와 같은 내장 가이드를 통해 제공됩니다. 저장소는 모노레포로 구성되어 있습니다. stim 패키지는 CLI를 제공합니다. @stim-cli/metro는 Metro 변환을 공유하고 로그를 기록합니다. @stim-cli/expo-build-cache는 직접 Expo 빌드가 Stim과 네이티브 아티팩트를 공유할 수 있게 합니다. @stim-cli/cache는 캐시 공급자 계약과 두 캐시 뒤에서 로컬 우선 계층 조정을 담당합니다. @stim-cli/core는 공유 내부 캐시 계약을 포함합니다. @stim-cli/server는 Tailscale을 통해 휴대폰 앱과 같은 페어링된 읽기 전용 클라이언트에 Stim 상태를 제공합니다. 개발은 build, test, typecheck, lint 스크립트와 함께 pnpm을 사용합니다. 이 프로젝트는 MIT 라이선스이며, 몬트리올 기반 React Native 엔지니어링 및 컨설팅 스튜디오인 App&Flow가 유지 관리합니다.