Об этом проекте
Stim — это инструмент командной строки для запуска проектов React Native и Expo в быстрых изолированных локальных средах, предназначенный для кодирующих агентов, которым нужно собирать и запускать приложения, не мешая друг другу. Каждый проект или git worktree получает собственный порт Metro и собственный симулятор или эмулятор, при этом нативные артефакты, данные компиляции Xcode, вывод Gradle и трансформации Metro разделяются между worktree. Это позволяет нескольким агентам работать параллельно, не используя общие живые ресурсы, а затем Stim может очистить каждый созданный им ресурс.
Он поддерживает как React Native Community CLI, так и проекты Expo. Сборки по умолчанию выполняются локально, а опция --eas-profile использует готовые development-сборки EAS. Приложения можно запускать на собственных симуляторах и эмуляторах, подключённых физических устройствах или настроенных удалённых устройствах.
Установка выполняется через npm-пакет stim, который предоставляет команду 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 передаёт статус Stim парным клиентам только для чтения, например мобильному приложению, через Tailscale.
Для разработки используется pnpm со скриптами build, test, typecheck и lint. Проект распространяется под лицензией MIT и поддерживается App&Flow, монреальской студией инженерии и консалтинга по React Native.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.