xcsift - Xcode Build Output Formatter
xcsift is a Swift command-line tool that parses and formats xcodebuild/SPM output for coding agents. It transforms verbose Xcode build output into token-efficient TOON format optimized for machine readability.
When to Use
Use xcsift when running Swift or Xcode build commands:
-
xcodebuild build
-
xcodebuild test
-
swift build
-
swift test
Usage Pattern
Always pipe build output through xcsift with stderr redirected:
Basic usage
xcodebuild build 2>&1 | xcsift -f toon swift build 2>&1 | xcsift -f toon
With warnings
xcodebuild build 2>&1 | xcsift -f toon -w
With code coverage
swift test --enable-code-coverage 2>&1 | xcsift -f toon -c xcodebuild test -enableCodeCoverage YES 2>&1 | xcsift -f toon -c
With executable targets
xcodebuild build 2>&1 | xcsift -f toon -e
Strict CI mode (fail on warnings)
xcodebuild build 2>&1 | xcsift -f toon -W -E
Key Flags
Flag Description
-f toon
TOON format (30-60% fewer tokens)
-w
Show detailed warnings
-W
Treat warnings as errors
-q
Quiet mode (no output on success)
-c
Include code coverage
-e
Include executable targets
-E
Exit with failure on build failure
--build-info
Per-target phases and timing
Output Format
TOON format provides structured output optimized for LLMs:
status: failed summary: errors: 1 warnings: 3 errors[1]{file,line,message}: main.swift,15,"use of undeclared identifier" warnings[3]{file,line,message}: Parser.swift,20,"unused variable"
Important Notes
-
Always use 2>&1 to capture stderr (where compiler errors are written)
-
TOON format reduces tokens by 30-60% compared to raw xcodebuild output
-
When running build commands, always add | xcsift -f toon to the end
Example Workflow
Build the project:
swift build 2>&1 | xcsift -f toon
If build fails, analyze the structured error output
Run tests with coverage:
swift test --enable-code-coverage 2>&1 | xcsift -f toon -c
For CI pipelines, use strict mode:
xcodebuild build 2>&1 | xcsift -f toon -W -E