├── .github └── workflows │ ├── conventional-pr.yml │ ├── deploy.yml │ ├── docs.yml │ ├── release.yml │ └── rosalind.yml ├── .gitignore ├── .swiftformat ├── .swiftlint.yml ├── .xcode-version ├── CHANGELOG.md ├── LICENSE ├── Package.resolved ├── Package.swift ├── README.md ├── Sources └── Rosalind │ ├── AppBundle.swift │ ├── AppBundleLoader.swift │ ├── AppBundleReport.swift │ ├── AssetUtilController.swift │ ├── Extensions │ ├── FileHandle+Read.swift │ └── Sequence+Concurrency.swift │ ├── PoolLock.swift │ ├── Rosalind.swift │ └── ShasumCalculator.swift ├── Tests └── RosalindTests │ ├── AssetUtilControllerTests.swift │ ├── Extensions │ └── Snapshotting+RosalindReport.swift │ ├── RosalindAcceptanceTests.swift │ ├── RosalindTests.swift │ └── __Snapshots__ │ └── RosalindAcceptanceTests │ ├── ios_app.1 │ ├── ios_app_ipa.1 │ └── ios_app_xcarchive.1 ├── cliff.toml ├── docs ├── .vitepress │ ├── config.mjs │ └── icons.mjs ├── api │ ├── rosalind.md │ └── schema.md ├── index.md ├── package.json ├── public │ ├── favicon.ico │ └── logo.png └── quick-start │ └── add-dependency.md ├── fixtures └── ios_app │ ├── App.app │ ├── App │ ├── App.debug.dylib │ ├── Assets.car │ ├── Info.plist │ ├── PkgInfo │ ├── _CodeSignature │ │ └── CodeResources │ ├── __preview.dylib │ └── embedded.mobileprovision │ ├── App.ipa │ ├── App.xcarchive │ ├── Info.plist │ └── Products │ │ └── Applications │ │ └── App.app │ │ ├── App │ │ ├── Assets.car │ │ ├── Info.plist │ │ ├── PkgInfo │ │ ├── _CodeSignature │ │ └── CodeResources │ │ └── embedded.mobileprovision │ ├── App.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── App │ ├── AppApp.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── Image.imageset │ │ ├── Contents.json │ │ ├── Tuist-Filled.png │ │ ├── Tuist-Filled@2x.png │ │ └── Tuist-Filled@3x.png │ ├── ContentView.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── mise.toml ├── mise └── tasks │ ├── build │ ├── build-fixture.sh │ ├── build-linux │ ├── cache │ ├── docs │ ├── build │ ├── deploy │ ├── dev │ └── preview │ ├── install │ ├── lint │ ├── test │ └── test-linux ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── renovate.json /.github/workflows/conventional-pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/.github/workflows/conventional-pr.yml -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/rosalind.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/.github/workflows/rosalind.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/.gitignore -------------------------------------------------------------------------------- /.swiftformat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/.swiftformat -------------------------------------------------------------------------------- /.swiftlint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/.swiftlint.yml -------------------------------------------------------------------------------- /.xcode-version: -------------------------------------------------------------------------------- 1 | 26.0 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/README.md -------------------------------------------------------------------------------- /Sources/Rosalind/AppBundle.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/AppBundle.swift -------------------------------------------------------------------------------- /Sources/Rosalind/AppBundleLoader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/AppBundleLoader.swift -------------------------------------------------------------------------------- /Sources/Rosalind/AppBundleReport.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/AppBundleReport.swift -------------------------------------------------------------------------------- /Sources/Rosalind/AssetUtilController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/AssetUtilController.swift -------------------------------------------------------------------------------- /Sources/Rosalind/Extensions/FileHandle+Read.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/Extensions/FileHandle+Read.swift -------------------------------------------------------------------------------- /Sources/Rosalind/Extensions/Sequence+Concurrency.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/Extensions/Sequence+Concurrency.swift -------------------------------------------------------------------------------- /Sources/Rosalind/PoolLock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/PoolLock.swift -------------------------------------------------------------------------------- /Sources/Rosalind/Rosalind.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/Rosalind.swift -------------------------------------------------------------------------------- /Sources/Rosalind/ShasumCalculator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Sources/Rosalind/ShasumCalculator.swift -------------------------------------------------------------------------------- /Tests/RosalindTests/AssetUtilControllerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Tests/RosalindTests/AssetUtilControllerTests.swift -------------------------------------------------------------------------------- /Tests/RosalindTests/Extensions/Snapshotting+RosalindReport.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Tests/RosalindTests/Extensions/Snapshotting+RosalindReport.swift -------------------------------------------------------------------------------- /Tests/RosalindTests/RosalindAcceptanceTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Tests/RosalindTests/RosalindAcceptanceTests.swift -------------------------------------------------------------------------------- /Tests/RosalindTests/RosalindTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Tests/RosalindTests/RosalindTests.swift -------------------------------------------------------------------------------- /Tests/RosalindTests/__Snapshots__/RosalindAcceptanceTests/ios_app.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Tests/RosalindTests/__Snapshots__/RosalindAcceptanceTests/ios_app.1 -------------------------------------------------------------------------------- /Tests/RosalindTests/__Snapshots__/RosalindAcceptanceTests/ios_app_ipa.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Tests/RosalindTests/__Snapshots__/RosalindAcceptanceTests/ios_app_ipa.1 -------------------------------------------------------------------------------- /Tests/RosalindTests/__Snapshots__/RosalindAcceptanceTests/ios_app_xcarchive.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/Tests/RosalindTests/__Snapshots__/RosalindAcceptanceTests/ios_app_xcarchive.1 -------------------------------------------------------------------------------- /cliff.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/cliff.toml -------------------------------------------------------------------------------- /docs/.vitepress/config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/.vitepress/config.mjs -------------------------------------------------------------------------------- /docs/.vitepress/icons.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/.vitepress/icons.mjs -------------------------------------------------------------------------------- /docs/api/rosalind.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/api/rosalind.md -------------------------------------------------------------------------------- /docs/api/schema.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/api/schema.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/public/favicon.ico -------------------------------------------------------------------------------- /docs/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/public/logo.png -------------------------------------------------------------------------------- /docs/quick-start/add-dependency.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/docs/quick-start/add-dependency.md -------------------------------------------------------------------------------- /fixtures/ios_app/App.app/App: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.app/App -------------------------------------------------------------------------------- /fixtures/ios_app/App.app/App.debug.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.app/App.debug.dylib -------------------------------------------------------------------------------- /fixtures/ios_app/App.app/Assets.car: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.app/Assets.car -------------------------------------------------------------------------------- /fixtures/ios_app/App.app/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.app/Info.plist -------------------------------------------------------------------------------- /fixtures/ios_app/App.app/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /fixtures/ios_app/App.app/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.app/_CodeSignature/CodeResources -------------------------------------------------------------------------------- /fixtures/ios_app/App.app/__preview.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.app/__preview.dylib -------------------------------------------------------------------------------- /fixtures/ios_app/App.app/embedded.mobileprovision: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.app/embedded.mobileprovision -------------------------------------------------------------------------------- /fixtures/ios_app/App.ipa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.ipa -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcarchive/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.xcarchive/Info.plist -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcarchive/Products/Applications/App.app/App: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.xcarchive/Products/Applications/App.app/App -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcarchive/Products/Applications/App.app/Assets.car: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.xcarchive/Products/Applications/App.app/Assets.car -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcarchive/Products/Applications/App.app/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.xcarchive/Products/Applications/App.app/Info.plist -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcarchive/Products/Applications/App.app/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcarchive/Products/Applications/App.app/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.xcarchive/Products/Applications/App.app/_CodeSignature/CodeResources -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcarchive/Products/Applications/App.app/embedded.mobileprovision: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.xcarchive/Products/Applications/App.app/embedded.mobileprovision -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /fixtures/ios_app/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /fixtures/ios_app/App/AppApp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/AppApp.swift -------------------------------------------------------------------------------- /fixtures/ios_app/App/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /fixtures/ios_app/App/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /fixtures/ios_app/App/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /fixtures/ios_app/App/Assets.xcassets/Image.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/Assets.xcassets/Image.imageset/Contents.json -------------------------------------------------------------------------------- /fixtures/ios_app/App/Assets.xcassets/Image.imageset/Tuist-Filled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/Assets.xcassets/Image.imageset/Tuist-Filled.png -------------------------------------------------------------------------------- /fixtures/ios_app/App/Assets.xcassets/Image.imageset/Tuist-Filled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/Assets.xcassets/Image.imageset/Tuist-Filled@2x.png -------------------------------------------------------------------------------- /fixtures/ios_app/App/Assets.xcassets/Image.imageset/Tuist-Filled@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/Assets.xcassets/Image.imageset/Tuist-Filled@3x.png -------------------------------------------------------------------------------- /fixtures/ios_app/App/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/ContentView.swift -------------------------------------------------------------------------------- /fixtures/ios_app/App/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/fixtures/ios_app/App/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /mise.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise.toml -------------------------------------------------------------------------------- /mise/tasks/build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise/tasks/build -------------------------------------------------------------------------------- /mise/tasks/build-fixture.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise/tasks/build-fixture.sh -------------------------------------------------------------------------------- /mise/tasks/build-linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise/tasks/build-linux -------------------------------------------------------------------------------- /mise/tasks/cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise/tasks/cache -------------------------------------------------------------------------------- /mise/tasks/docs/build: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | pnpm run -C $MISE_PROJECT_ROOT/docs build -------------------------------------------------------------------------------- /mise/tasks/docs/deploy: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | pnpm run -C $MISE_PROJECT_ROOT/docs deploy -------------------------------------------------------------------------------- /mise/tasks/docs/dev: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | pnpm run -C $MISE_PROJECT_ROOT/docs dev -------------------------------------------------------------------------------- /mise/tasks/docs/preview: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | 4 | pnpm run -C $MISE_PROJECT_ROOT/docs preview -------------------------------------------------------------------------------- /mise/tasks/install: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise/tasks/install -------------------------------------------------------------------------------- /mise/tasks/lint: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise/tasks/lint -------------------------------------------------------------------------------- /mise/tasks/test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise/tasks/test -------------------------------------------------------------------------------- /mise/tasks/test-linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/mise/tasks/test-linux -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "docs" -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuist/Rosalind/HEAD/renovate.json --------------------------------------------------------------------------------