discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
xtool-org/xtool · source
Snapshot 0 · 2026-11-04T12:47:27Z · Swift · MIT
Content fingerprint
826f8156bc1aaa34ba22f1619116ab05124fd8572a170754d34fc49870cdc78bGitHub description at capture
Cross-platform Xcode replacement. Build and deploy iOS apps with SwiftPM on Linux, Windows, macOS.
README at capture
# xtool
Cross-platform Xcode replacement. Build and deploy iOS apps with SwiftPM on Linux, Windows, and macOS.
## Overview
xtool is a cross-platform (Linux/WSL/macOS) tool that replicates Xcode functionality with open standards.
✅ Build a SwiftPM package into an iOS app
✅ Sign and install iOS apps
✅ Interact with Apple Developer Services programmatically
## Getting Started
1. Follow the guide to install `xtool`
- [Installation (Linux/Windows)](https://xtool.sh/documentation/xtooldocs/installation-linux)
- [Installation (macOS)](https://xtool.sh/documentation/xtooldocs/installation-macos)
2. Create and run your first xtool-powered app by following the [tutorial](https://xtool.sh/tutorials/xtooldocs/first-app)!
## Examples
### Screenshot

### Command line interface
```bash
$ xtool --help
OVERVIEW: Cross-platform Xcode replacement
USAGE: xtool <subcommand>
OPTIONS:
-h, --help Show help information.
CONFIGURATION SUBCOMMANDS:
setup Set up xtool for iOS development
auth Manage Apple Developer Services authentication
sdk Manage the Darwin Swift SDK
DEVELOPMENT SUBCOMMANDS:
new Create a new xtool SwiftPM project
dev Build and run an xtool SwiftPM project
ds Interact with Apple Developer Services
DEVICE SUBCOMMANDS:
devices List devices
install Install an ipa file to your device
uninstall Uninstall an installed app
launch Launch an installed app
See 'xtool help <subcommand>' for detailed help.
```
### Library
You can consume xtool itself as a Swift Package, to enable your own app to interact with Apple Developer Services, iOS devices, and more. You can use this by adding `XKit` or `XToolSupport` as a SwiftPM dependency.
Note: while we aim to uphold semver semantics on the CLI interface (breaking change = major version bump), the Swift interface does not offer the same guarantees.
```swift
// package dependency:
.package(url: "https://github.com/xtool-org/xtool", .upToNextMinor(from: "1.2.0"))
// target dependency:
.product(name: "XKit", package: "xtool")
```