Skip to content

Getting started

sochi is a macOS CLI that builds, runs, and edits Xcode projects without opening Xcode. It calls xcodebuild, devicectl / simctl, and reads templates, capabilities, and build specs from the Xcode selected by xcode-select.

  • macOS
  • Xcode 16 or later (xcode-select -p must point at it)
  • For a physical device: paired + trusted, Developer Mode on, Apple ID signed into Xcode → Settings → Accounts

sochi does not support SPM-only package directories. You need an .xcodeproj or .xcworkspace.

Terminal window
curl -fsSL https://raw.githubusercontent.com/Chandram-Dutta/sochi/main/install.sh | bash
sochi doctor

doctor reports xcodebuild, Swift, devices, teams, simulators, and the cache path. Fix anything it marks failed before continuing. Other install methods: Install.

New project:

Terminal window
sochi new Weather --org com.example
cd Weather
sochi run

Existing project (cwd contains .xcodeproj / .xcworkspace, or pass a path):

Terminal window
sochi run
sochi run --sim

run resolves scheme and destination, builds, installs if needed, launches with app stdout attached. Stop with ctrl-c.

Terminal window
sochi add capability push-notifications
sochi add target widget-extension Forecast
sochi migrate # group-based → synchronized folders (Xcode 16+)
sochi --help

Project edits print a diff, write atomically, verify, and roll back on failure. Details: Usage, Editing.