Hi everyone,
I’ve released UIAtlas 1.0, an open-source command-line tool that turns existing SwiftUI/UIKit preview captures and swift-snapshot-testing reference images into a searchable static HTML catalog.
The motivation was simple: visual states often end up scattered across preview folders, snapshot-test directories and CI artifacts. UIAtlas brings them together in a report that can be opened locally, shared as an archive or published as a CI artifact.
It includes:
- Direct import from swift-snapshot-testing _Snapshots_ folders
- Support for rendered preview screenshots
- Search and filtering by component, module, device and appearance
- Light, dark, Dynamic Type and accessibility variants
- SwiftUI preview coverage reporting
- Missing-image and unmatched-capture diagnostics
- Markdown and JSON visual-diff summaries for pull requests
- Hand-authored manifests for custom image collections
UIAtlas sits on top of your existing preview or snapshot workflow. This isn’t another snapshot-testing library or a live component workbench.
A basic report can be generated with:
uiatlas report \
--snapshots ./MyAppTests/_Snapshots_ \
--source-root ./MyApp \
--project-name MyApp \
--output UIAtlas \
--force
It is written entirely in Swift, distributed as a Swift Package, targets macOS 14+, and is available under the MIT licence.
I’d really appreciate feedback from teams using SwiftUI previews or snapshot testing.
Contributions and issue reports are very welcome.
