Devotd Github
NewDebugging and Testing

abacusai/simless v0.7.3 — SwiftUI inspection without a simulator

abacusai/simless is a tool that helps AI coding agents inspect SwiftUI screens and tests without the iOS Simulator.

Repositoryabacusai/simless ↗

Simless runs simulator-free headless SwiftUI checks for AI coding agents using accessibility trees and hot reload.

GitHub description: Simulator-free, headless SwiftUI checks for AI coding agents: render screens as accessibility trees and hot-reload views in ~2 s, without the iOS Simulator.

stars
★ 48
Forks
2
Language
Swift
License
Apache-2.0
Latest release
v0.7.3
Read original source ↗View on GitHub ↗

The latest release of abacusai/simless is v0.7.3. What changed in this version does not appear in the provided material. This Swift tool runs the real iOS app target on a Mac in an invisible render host so that screens can be inspected as an accessibility tree. Unit tests and existing XCUITest UI tests also run without booting the iOS Simulator.

The accessibility tree represents on-screen elements and strings as structured text for the agent to read. The material states that a single tree is roughly 150 tokens in size. When a view is edited, only that file is compiled and injected as a patch, and according to the description it hot reloads in about 2 seconds. It also supports per-file locking by git worktree so that agents from multiple projects can work in parallel on a single Mac. The project is written in Swift and uses the Apache-2.0 license.

The project's benchmarks present, compared with the legacy approach, a 10x improvement in performance from edit to verified screen with one agent and 17x with five parallel agents. It reports that resident memory went from 11.2GB and 1,071 processes to 0.15GB and 6 processes, and places the measurement method and caveats in docs/benchmarks.md. These results are the project's own measurements, and the full unit test suite includes an item that did not improve, at 1.0x. The performance numbers should therefore be read as results under those measurement conditions.