このプロジェクトについて

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のステータスを提供します。 開発にはpnpmを使用し、build、test、typecheck、lintスクリプトが用意されています。プロジェクトはMITライセンスで、モントリオールを拠点とするReact NativeエンジニアリングおよびコンサルティングスタジオであるApp&Flowによってメンテナンスされています。