macOS · iOS · Xcode

Your daily Xcode workflow.
One command.

Clean, build, test and control simulators — without looking up flags, without switching windows. A single keyboard-driven terminal menu for Apple development. It is not affiliated with Apple or Xcode.

6 Categories
30+ Actions
0 Dependencies
2.7 MB Binary
xcodex — ~/Projects/MyApp
xcodex terminal interface in action

Why xcodex? A CLI tool for working with Xcode projects.

Every Apple developer knows the friction. xcodex removes it.

No flag lookup

xcodebuild, simctl, devicectl — each with its own flags and syntax. xcodex knows them all. You don't have to.

No context switching

Build, test, clean, and manage simulators — all from one terminal interface. No Xcode window required.

Zero setup

git clone · chmod +x · alias — done. No npm, no Homebrew packages, no config files. Run from your project root in seconds.

Six categories.
Every daily workflow.

Everything you need — accessible from a single, clear interface.

Clean & Cache

Remove build artifacts, clear DerivedData, Simulator caches and Module Cache in one step.

  • xcodebuild clean
  • Delete DerivedData
  • Delete Simulator Cache
  • Delete Xcode Caches
  • Delete all caches at once
8 actions

Dependencies

Resolve and inspect SPM, CocoaPods and Carthage — without memorizing a single flag.

  • Show dependency graph
  • Resolve all (SPM + Pods + Carthage)
  • Resolve SPM only
  • Resolve CocoaPods only
  • Resolve Carthage only
5 actions

Build & Run

Build and launch with preset optimizations — Quick Reset, Full Reset or straight Build & Run. Isolated DerivedData, every time.

  • Build
  • Build & Run
  • Quick Reset & Build
  • Full Reset & Build
  • Isolated DerivedData
5 actions

Simulator

Launch, restart, reset, screenshot, record. Toggle Dark/Light Mode — all without leaving the terminal.

  • Launch & restart app
  • Screenshot → Desktop (PNG)
  • Video recording (MP4)
  • Dark / Light Mode toggle
  • Full simulator reset
8+ actions

Test

Unit tests, UI tests, or all tests at once — with automatically applied build optimizations and 3-state result reporting.

  • Run unit tests
  • Run UI tests
  • Run all tests
  • 3-state results (✅ ⚠️ ❌)
  • Compile-only / run-only modes
5 actions

Physical Devices

Install, launch and stream logs directly on iPhones and iPads — auto-detected, no Xcode GUI needed.

  • Install app on device
  • Launch app
  • List installed apps
  • Live device log
  • Auto-detection via devicectl
4 actions

Split-pane. Keyboard-driven.

Categories on the left, actions on the right. Navigate with arrow keys, execute with Enter. Settings persist automatically between sessions.

xcodex — Split-Pane Interface
xcodex split-pane interface

Navigate within the active pane

Switch between category and action pane

Execute the selected command

Q

Quit the application

What makes it different.

Not just a wrapper around xcodebuild. Thoughtfully designed for real developer workflows.

The Problem

How Xcode normally builds

Xcode writes all build artifacts into a shared DerivedData folder under ~/Library/Developer/Xcode/DerivedData/. Compiled files, index data, logs and temporary build products from all projects land there simultaneously. When Xcode is indexing in the background, another build is running, or old artifacts remain from a previous project, silent conflicts occur: builds fail for unclear reasons, caches get reused incorrectly, errors can't be reproduced. The classic fix — "Clean Build Folder" — deletes everything and rebuilds from zero, but costs time and doesn't address the root cause.

How Xcode normally builds — shared DerivedData
The Solution

Own DerivedData — clean and isolated

xcodex builds into its own DerivedData folder — completely independent from Xcode. Both can run simultaneously without interfering. Every run starts in a fresh environment: no old artifacts, no side effects. If something breaks, you know immediately: it's the current state — not a cache from yesterday.

Own isolated DerivedData — xcodex solution
Branch Builds

Branch & Commit — build and compare

Check out any branch or commit, build locally and launch — without touching your development environment. Parallel builds let you compare different project states cleanly. No risk, no merge conflicts, no context loss.

Branch and commit builds

Not just for iOS developers.

The CLI tool xcodex makes Apple development accessible to the whole team.

iOS Developers

Your daily workflow, streamlined. Build, test, clean — without interrupting your focus in the editor.

Android Developers

Familiar terminal interface. Check out the iOS codebase, build and test — no Xcode knowledge required.

QA & Testers

No TestFlight waiting. Build directly from source, test on any iOS version. Press A, configure once — done.

Designers & POs

See changes in context immediately, on different iOS versions. Present the current build — without developer assistance.

The CLI tool xcodex alongside Xcode

The right tool for each task. xcodex is a powerful complement, not a replacement.

Task Xcode xcodex
Feature development, breakpoints, debugging
Fast build + launch on simulator
Cache cleanup when Xcode has issues
Tests on multiple iOS versions
SPM / CocoaPods / Carthage update
Screenshots & screen recordings
Debugging on physical device
Deploy app to physical device (simple)

Andere Tools im Vergleich

Das Kommandozeilen-Tool xcodex' bringt die wichtigsten Aufgaben rund um Xcode an einen Ort. Builds ausführen, Tests starten, Simulatoren steuern, Screenshots aufnehmen, Caches bereinigen und wiederkehrende Abläufe schneller erledigen – alles direkt im Terminal, klar strukturiert und auf den Entwickleralltag ausgelegt.

Bereich Typische Tools Mit xcodex
Build & Test xcodebuild, fastlane Schnellere, zentrale Standardabläufe
Simulator simctl, idb Einfachere Steuerung von Simulator und Medien
Projekt-Workflow verschiedene Einzeltools Wiederkehrende Aufgaben in einem Menü
Xcode-Umgebung xcodes, Xcodes.app Fokus auf die tägliche Projektarbeit
Entwickleralltag viele Kommandos und Tools Weniger Wechsel, mehr Übersicht

Das Kommandozeilen-Tool xcodex ersetzt nicht jedes Spezialwerkzeug – es verbindet die tägliche Praxis dazwischen. Während andere Tools einzelne Teilbereiche abdecken, bündelt xcodex die Aufgaben, die im Alltag ständig wiederkommen, in einer einheitlichen Terminal-Oberfläche.

10 reasons to try it

01

Multi-Simulator before every PR — iOS 16, 17, 18 without waiting for CI

02

No TestFlight waiting — QA and POs build directly from source

03

Android-developer friendly — familiar terminal, no Xcode knowledge needed

04

Granular cache control — no more blunt "Clean Build Folder"

05

Build timeline — see immediately what slows down your build

06

All package managers in one place — SPM, CocoaPods, Carthage

07

Isolated builds — no side effects from yesterday's cache

08

Settings persist — schema, device, config remembered between sessions

09

Physical device support — deploy and test without the Xcode GUI

10

Free, no accounts, no infrastructure — ready in minutes

Up and running in minutes.

Four commands. No build tools, no package managers, no config files.

Clone the repository

git clone https://github.com/drapatzc/xcodex.git ~/GIT-Home/xcodex

Set executable permission

chmod +x ~/GIT-Home/xcodex/xcodex

Set up shell alias (zsh)

echo 'alias xcodex="$HOME/GIT-Home/xcodex/xcodex"' >> ~/.zshrc
source ~/.zshrc

Run from your project root

cd YourXcodeProject
xcodex

xcodex automatically detects .xcworkspace or .xcodeproj files in the current directory.

Update

cd ~/GIT-Home/xcodex && git pull

Requirements

macOS 13 Ventura or later macOS-only tool
Xcode (full App Store install) ~30 GB, open once to install components
Swift 5.9+ Included with Xcode
Git For cloning and branch builds

The Developer

I build software for the Apple ecosystem — native iOS and macOS apps, developer tools and games. My focus is on products that are technically clean, practically useful and independently valuable.

Christian Drapatz
christiandrapatz.de →

Portfolio

Personal website, projects, contact and background on my development work.

christiandrapatz.de →

AI Apps

AI-powered macOS tools for iOS and macOS developers.

Games

Independent iOS games — developed and published in the Apple ecosystem.

Apps

Practical apps for iOS and macOS — clear concepts, standalone products.

Enjoying the CLI tool xcodex?

If this tool saves you time every day and you'd like to support further development, a small PayPal donation is warmly welcome. Every contribution helps keep the project alive.

Donations are voluntary and do not change the license, features or any warranty.

Free. Transparent. No strings attached.

No subscriptions, no feature gates, no hidden conditions.

Permitted

  • Private use
  • Commercial use
  • Team-wide deployment
  • Unlimited installations
  • No registration, no license key

Not Allowed

  • Selling or reselling the software
  • Distributing as standalone product
  • Bundling in paid products (without permission)
  • Reverse engineering

Disclaimer

This software is provided without any warranty. Use is at your own risk. The author is not liable for damages arising from its use.