simless CLI

CLI проверяет экраны SwiftUI и гоняет тесты iOS без Симулятора: агент читает дерево доступности и правит вьюхи за 2 секунды.

  • 52 ★ репозитория
  • Последний коммит
CLI

Расширенный доступ

Почему такой уровень

  • Собирает и запускает приложение на Mac, подписывая бинарники ad hoc.
  • `simless init` добавляет файл хоста в целевой проект приложения.
Все причины и проверки

abacusai/simless

Установка

Работает в

Ручная установка

git clone https://github.com/abacusai/simless && cd simless && swift build -c release

Затем ссылка на `.build/release/simless` в каталоге из `PATH`. Нужны Apple Silicon, macOS 15 и Xcode 26.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Собирает и запускает приложение на Mac, подписывая бинарники ad hoc.
  • `simless init` добавляет файл хоста в целевой проект приложения.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

`simless` запускает iOS-приложение на Mac как невидимый хост, без загрузки Симулятора. Агент рендерит любой экран в компактное дерево доступности (около 150 токенов на экран), получает проверки неподписанных элементов, мелких зон нажатия и наложений, а PNG строится только по запросу. После правки `simless reload --render Settings` собирает патч из измененных файлов и загружает его в работающий хост. Команды `simless test all` и `simless test ui` запускают юнит-тесты и существующие XCUITest. Один хост на каждый worktree git дает нескольким агентам работать на одном Mac. Команда `simless skill install` ставит скилл для Claude Code.

Для кого. Мобильным разработчикам на SwiftUI, у которых несколько агентов одновременно правят интерфейс и каждому не хватает своего Симулятора.

Подходит, если

  • Агент правит экран настроек и должен за пару секунд увидеть результат, а не ждать сборку и запуск Симулятора.
  • Пять агентов работают в разных worktree, и общий расход памяти нужно держать в пределах 0,15 ГБ.
  • Перед пулреквестом `simless render all --matrix` показывает все экраны в светлой и темной теме на iPhone и iPad.
  • CI на GitHub-hosted macOS-раннере должен гонять XCUITest без Симулятора.
  • Нужна проверка размеров зон нажатия и подписей кнопок прямо в отчете рендера.

Не подходит, если

  • Приложение не на SwiftUI или проект не в формате `.xcodeproj`.
  • Проверяются HealthKit, покупки StoreKit, выбор фото, микрофон или экран Домой: это требует Симулятора.
  • Нужна пиксельная точность с iOS: строки `List` и `Form` на Mac бывают выше, а цвет акцента другой.

Пример запроса к агенту

Поправь экран Settings, сделай `simless reload --render Settings` и покажи дерево доступности вместе с предупреждениями о зонах нажатия.

Ограничения

Нужны Mac на Apple Silicon с macOS 15 и новее и Xcode 26 или новее; рантайм Симулятора не нужен. Проект должен быть SwiftUI в `.xcodeproj`. Рендер совпал с Симулятором с точностью до 2 пунктов у 8 из 14 экранов демо-приложения, остальные расходятся высотой строк `List` и `Form`, переносами и акцентным цветом. Тесты, которым нужен Симулятор, помечают в `tests.simulatorOnly`, их запускает `simless test --simulator-only`. Установка идет сборкой из исходников.

Как отключить. Остановите хосты командой `simless down`, удалите ссылку на бинарник и файлы `.simless.json` и `Simless/SimlessKit.swift` из проекта. Скилл уберите из каталога скиллов Claude Code.

Частые вопросы

Как поставить simless?

Клонируйте репозиторий, выполните `swift build -c release` и сделайте ссылку на `.build/release/simless` в каталоге из `PATH`. Скилл ставит `simless skill install`.

Что создает `simless init`?

Файл `.simless.json`, хост рендера `SimlessKit.swift` (только в `#if DEBUG`) и файл с фикстурами. Хост ничего не делает, пока его не запустит simless.

Нужен ли сертификат или профиль?

Нет. Начиная с 0.6.0 хосты работают без подписи, достаточно Xcode. Подписанный режим «Designed for iPad» остался как запасной.

Как прогнать UI-тесты?

Командой `simless test ui`: существующие XCUITest идут без изменений в скрытых хостах. Тесты, которым нужен Симулятор, перечисляет `simless test --simulator-only`.

Сколько места занимает кеш?

Все, что simless хранит между worktree, укладывается в 25 ГБ; лимит задает `SIMLESS_DISK_LIMIT_GB` либо `diskLimitGB` проекта. Недавно использованные сборки остаются.

Обсуждение

Вопросов и отзывов пока нет.

CLI показывает агенту экран iOS-симулятора или Android-эмулятора компактным списком элементов и нажимает их по короткому алиасу.

CLIРасширенный доступ1,5 тыс.Звезды репозитория

Команда npx serve-sim выводит симулятор iOS в браузер и позволяет агенту нажимать, свайпать, вводить текст и подменять камеру

CLIРасширенный доступ2,9 тыс.Звезды репозитория

Скилл со скриптами для сборки iOS-приложений и управления симулятором через дерево доступности, с экономным выводом для агента

СкиллРасширенный доступ1,3 тыс.Звезды репозитория

Плагин DeepSeek Harness: iOS Simulator и iPhone по USB прямо в диалоге, 22 инструмента управления

ПлагинШирокий доступ463Звезды репозитория

Агент в IDE или CLI запускает iOS-симуляторы и Android-эмуляторы, читает экран, профилирует и гоняет тесты.

CLIШирокий доступ161Звезды репозитория

CLI на Swift показывает агенту живой интерфейс приложения Apple: дерево вью, доступность, логи, сеть и проверку нажатий.

CLIРасширенный доступ106Звезды репозитория

Коротко о README

Проект заменяет цикл «собрать, поставить в Симулятор, сделать снимок» нативным запуском приложения как хоста Mac Catalyst. Результат отдается агенту текстом.

Бейдж для README

Сообщить о проблеме