A Swift command-line tool to parse and format xcodebuild/SPM output for coding agents, optimized for token efficiency.
xcsift transforms verbose Xcode build output into concise, structured formats that coding agents and LLMs can efficiently parse and act upon. Unlike xcbeautify and xcpretty which focus on human-readable output, xcsift prioritizes information density and machine readability.
- Multiple output formats — JSON (default), TOON (30-60% fewer tokens), GitHub Actions
- Structured error reporting — errors, warnings, linker errors, test failures with file/line locations
- Automatic code coverage — converts
.profraw(SPM) and.xcresult(xcodebuild) to JSON - Build info — per-target phases, timing, dependencies, and slowest targets
- Test analysis — slow test detection, flaky test detection, duration tracking
- GitHub Actions integration — auto-detected workflow annotations with inline PR comments
- Configuration files —
.xcsift.tomlfor project or user-wide defaults - Quiet/Werror/exit-on-failure modes — for CI pipelines
- xcbeautify/Tuist input — parse pre-formatted output with
--xcbeautify
See the full documentation for details.
brew install xcsiftgit clone https://github.com/ldomaradzki/xcsift.git
cd xcsift
swift build -c release
cp .build/release/xcsift /usr/local/bin/Also available via mise and Mint.
Integrate with coding assistants via built-in installers:
| Assistant | Install | Uninstall |
|---|---|---|
| Claude Code | xcsift install-claude-code |
xcsift uninstall-claude-code |
| Codex | xcsift install-codex |
xcsift uninstall-codex |
| Cursor | xcsift install-cursor |
xcsift uninstall-cursor |
See Plugin Installation for options and verification steps.
Pipe any xcodebuild or SPM command through xcsift. Always use 2>&1 to capture stderr.
# Build
xcodebuild build 2>&1 | xcsift
swift build 2>&1 | xcsift
# Test with coverage
swift test --enable-code-coverage 2>&1 | xcsift --coverage
xcodebuild test -enableCodeCoverage YES 2>&1 | xcsift -c --coverage-details
# TOON format (30-60% fewer tokens)
xcodebuild build 2>&1 | xcsift -f toon -w
# Warnings as errors + exit on failure (CI)
xcodebuild build 2>&1 | xcsift --Werror --exit-on-failure
# Configuration file
xcsift --init # Generate .xcsift.toml templateSee Usage for the full CLI reference, Output Formats for JSON/TOON/GitHub Actions details, and Configuration for config file options.
| Feature | xcsift | xcbeautify | xcpretty |
|---|---|---|---|
| Target audience | Coding agents / LLMs / CI | Humans / CI | Humans |
| Output format | JSON + TOON + GH Actions | Colorized text + GH Actions | Formatted text |
| Token efficiency | Very High (TOON) | Medium | Low |
| LLM optimization | Yes (TOON format) | No | No |
| Machine readable | Yes | No | Limited |
| GitHub Actions | Yes (auto-detected) | Yes | No |
| Error extraction | Structured | Visual | Visual |
| Linker errors | Yes (structured) | No | No |
| Code coverage | Auto-converts | No | No |
| Build time | Fast | Fast | Slower |
- macOS 15+: Full support including code coverage
- Linux (Swift 6.0+): Build/test parsing supported; coverage features unavailable
swift build # Build
swift test # Run tests
swift format --recursive --in-place . # Format (required before committing)Documentation source is in Sources/xcsift.docc/. Preview locally:
swift package --disable-sandbox preview-documentation --target xcsiftHosted docs: ldomaradzki.github.io/xcsift
MIT License
