Skip to content
Guides

Packages

How ShipIt is split into release automation, shared mobile mechanisms, and typed tool wrappers, and which package to depend on.

On this page

ShipIt is the release-automation layer of three Swift packages in the ShipItSwifty organization. Each one depends only on the layers below it.

LayerPackageWhat it holds
Release automationshipitswifty (ShipItKit, shipit)Workflows, Shipfile configuration, signing, versioning, store and Firebase distribution, test retries and flaky classification, coverage gates, evidence, and reporting.
Mobile mechanismsmobile-kitsMobileBuild (Xcode, Gradle, Flutter, React Native, KMP, SwiftPM, Bazel builds), MobileDevices (simulators, emulators, physical devices, device claims), MobileTesting (test runners and native result parsing), MobileProject (read-only repository inspection), MobileCore (shared types such as AppFramework and JSONValue).
Tool wrapperscli-wrappersOne library per command-line tool: XcodeBuildKit, XcrunKit, DeviceCtlKit, GradleKit, AdbKit, EmulatorKit, BundletoolKit, AndroidCLIKit, FlutterKit, ReactNativeKit, SwiftPMKit, BazelKit, TuistCLIKit, CocoaPodsKit, CodesignKit, and more.

Amoo, the device-automation tool for AI agents, builds on the same mobile-kits and cli-wrappers. That is why ShipIt and Amoo can share simulators without colliding: both claim devices through the same store.

Which package to depend on

  • Release workflows or ShipIt plugins: ShipItKit. Plugins that read action options also import MobileCore for JSONValue.
  • Building, testing, or driving devices from your own Swift tool: the mobile-kits product you need.
  • Only typed commands for one tool: the matching cli-wrappers product, for example XcodeBuildKit or AdbKit.

Nothing is re-exported: import each module you use. Before 1.0, track main:

.package(url: "https://github.com/ShipItSwifty/mobile-kits.git", branch: "main"),
.package(url: "https://github.com/ShipItSwifty/cli-wrappers.git", branch: "main"),

API documentation for mobile-kits and cli-wrappers is published from each repository. The ShipItKit API reference on this site covers ShipItKit only.