Repolode
callstackincubator

callstackincubator/simlock

並列で動くコーディングエージェントにiOSシミュレーター、Androidエミュレーター、実機を貸し出し、1台のデバイスを共有せずに済むようにするコントロールプレーン。

スター
612
フォーク
30
未解決の Issue
47
最終コミット
17 時間前

これは何?

Simlockは、複数のコーディングエージェントがモバイル端末を同時に使うためのコントロールプレーンです。各エージェントはデバイスをリクエストし、起動と確認が済んだ端末を受け取り、リースを解放するまで専有します。マシンが満杯のときに届いたリクエストはキューに入り、誰も使っていないデバイスはクリーンアップされます。

iOSシミュレーター、Androidエミュレーター、登録済みの実機に対応しています。プロジェクトはnpmからインストールし、CLIで操作します。たとえば、環境を確認するdoctorや、プラットフォームとモデルを指定してデバイスをリクエストするleaseなどのコマンドがあります。まずは1台のMacから始められ、デバイス群全体に共通するURLを公開するゲートウェイの背後に、MacやLinuxマシンを追加できます。

ドキュメントでは、エージェントのセットアップ、デバイスを管理するマシンでのworkerデーモンの実行、ゲートウェイの使い方に加え、コマンド、設定キー、イベント、エラーの全リファレンスを説明しています。

主な機能

  • 01iOSシミュレーター、Androidエミュレーター、登録済みの実機を個々のエージェントに貸し出します。
  • 02エージェントごとに、デバイスが解放されるまで専有できるようにします。
  • 03空きデバイスがなければ新しいデバイスを作成し、マシンが満杯の場合はリクエストをキューに入れます。
  • 04使われなくなったデバイスをクリーンアップします。
  • 051台のMacから、ゲートウェイの背後にある複数のMacやLinuxマシンで構成されるデバイス群へ拡張できます。

ユースケース

  • それぞれがモバイルアプリのテストを必要とする複数のコーディングエージェントを並列実行する。
  • チームの自動化されたモバイル開発ワークフローで、Macのシミュレーターを共有する。
  • 複数のマシンにあるシミュレーターやエミュレーターを、単一のエンドポイントの背後でプールする。

クイックスタート

  1. 1

    npmでsimlockをグローバルインストールする

    npm i -g simlock
  2. 2

    doctorコマンドでマシンのセットアップを確認する

    simlock doctor
  3. 3

    iPhone 16シミュレーターをリースする

    simlock lease --platform ios --device "iPhone 16"

使う前に知っておきたいこと

  • ドキュメントはリポジトリ内ではなく、外部のウェブサイトで公開されています。
  • iOSシミュレーターを実行するためにMac向けに設計されているため、iOSのサポートにはmacOSが必要です。

収録されている特集

トピック

#ios-simulator#android-emulator#agents#mobile-testing#device-farm#typescript#emulators#simulators

よくある質問

simlock とは?
並列で動くコーディングエージェントにiOSシミュレーター、Androidエミュレーター、実機を貸し出し、1台のデバイスを共有せずに済むようにするコントロールプレーン。 Simlockは、複数のコーディングエージェントがモバイル端末を同時に使うためのコントロールプレーンです。各エージェントはデバイスをリクエストし、起動と確認が済んだ端末を受け取り、リースを解放するまで専有します。マシンが満杯のときに届いたリクエストはキューに入り、誰も使っていないデバイスはクリーンアップされます。
simlock は無料で使えますか?ライセンスは?
simlock は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
simlock は今もメンテナンスされていますか?
活発にメンテナンス中。simlock の最終コミットは 2026年11月6日 です。
simlock は何に使えますか?
それぞれがモバイルアプリのテストを必要とする複数のコーディングエージェントを並列実行する。 チームの自動化されたモバイル開発ワークフローで、Macのシミュレーターを共有する。 複数のマシンにあるシミュレーターやエミュレーターを、単一のエンドポイントの背後でプールする。
simlock のインストール方法は?
npmでsimlockをグローバルインストールする: npm i -g simlock doctorコマンドでマシンのセットアップを確認する: simlock doctor iPhone 16シミュレーターをリースする: simlock lease --platform ios --device "iPhone 16"
simlock はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/callstackincubator/simlock

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト