SD

sweetpad-dev/sweetpad

Developer tools
1.9K stars Quality 66 Trend 76MIT

Develop Swift/iOS projects using VSCode

Overview

Build, run, debug, and test iOS, macOS, tvOS, watchOS, and visionOS apps from your terminal, without opening Xcode. No Xcode window, no editor required. Works with Xcode projects and workspaces, Tuist, XcodeGen, and Swift Packages. Full documentation lives at . If it saves you time, star the repo ⭐️ or become a sponsor 💰 A Mac with Xcode is the whole dependency list. Then: run builds, installs, launches, and streams the logs. Press r to rebuild and relaunch without leaving, q to quit. The first run asks which scheme to build and where to run it, then , so you never answer again. To skip the question outright, say where you want it: - : sweetpad run --hot patches each Swift file you save into the live process, so the app keeps its screen and its state. - : sweetpad bsp init points SourceKit-LSP at SweetPad's build server, so Neovim, Zed, Helix, and Emacs get completions and diagnostics on a real Xcode project.

README

SweetPad

xcodebuild for humans and agents.

A command-line tool that builds, runs, debugs, and tests apps for iOS, macOS, etc. without opening Xcode. It works with Xcode projects and workspaces, Tuist, XcodeGen, and Swift packages.

brew install sweetpad-dev/tap/sweetpad

cd MyApp
sweetpad run                        # build, install, launch, and stream logs
sweetpad run --on "iPhone 16 Pro"   # pick a simulator or device
sweetpad test --on booted           # test on the simulator that is already booted

The first run asks for a scheme and a destination and saves the answers. While run is active, press r to rebuild or q to quit.

Features

  • Pleasant to use: short commands, prompts in place of required flags, and built-in help for every command.
  • Short build output: a small app’s build prints 7 lines, where xcodebuild prints 350.
  • Destinations: simulators, connected devices, and the Mac, picked by name with --on.
  • Testing: run a single test, rerun failures, retry flaky tests, and export coverage and JUnit reports.
  • Autocomplete: sweetpad bsp init sets up SourceKit-LSP for Neovim, Zed, Helix, and Emacs.
  • Hot reload: sweetpad run --hot applies saved Swift changes without restarting the app.
  • Debugging: breakpoints in Neovim, Zed, or VS Code through sweetpad dap, plus scripted lldb sessions and structured crash reports.
  • Scripts and CI: JSON output and specific exit codes on every command.
  • Agent skills: instructions that teach coding agents to use the CLI.

More

Documentation: sweetpad.hyzyla.dev

There is also a VS Code extension. The CLI does not depend on it.

Sponsor: GitHub Sponsors · Buy Me a Coffee

License: MIT

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add sweetpad-dev/sweetpad