simless CLI
CLI проверяет экраны SwiftUI и гоняет тесты iOS без Симулятора: агент читает дерево доступности и правит вьюхи за 2 секунды.
- 52 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Собирает и запускает приложение на Mac, подписывая бинарники ad hoc.
- `simless init` добавляет файл хоста в целевой проект приложения.
Установка
- Работает в
Ручная установка
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-инструментыCLI показывает агенту экран iOS-симулятора или Android-эмулятора компактным списком элементов и нажимает их по короткому алиасу.
Команда npx serve-sim выводит симулятор iOS в браузер и позволяет агенту нажимать, свайпать, вводить текст и подменять камеру
Скилл со скриптами для сборки iOS-приложений и управления симулятором через дерево доступности, с экономным выводом для агента
Плагин DeepSeek Harness: iOS Simulator и iPhone по USB прямо в диалоге, 22 инструмента управления
Агент в IDE или CLI запускает iOS-симуляторы и Android-эмуляторы, читает экран, профилирует и гоняет тесты.
CLI на Swift показывает агенту живой интерфейс приложения Apple: дерево вью, доступность, логи, сеть и проверку нажатий.
Коротко о README
Проект заменяет цикл «собрать, поставить в Симулятор, сделать снимок» нативным запуском приложения как хоста Mac Catalyst. Результат отдается агенту текстом.