- Always pipe Xcode/Swift build logs through
xcsiftto keep transcripts small and structured. - Remember to redirect stderr to stdout (
2>&1) soxcsiftsees the full log stream.
- Basic build:
xcodebuild -project <app_name>.xcodeproj -scheme <scheme_name> -configuration Debug build 2>&1 | xcsift - Run tests + coverage:
xcodebuild test -enableCodeCoverage YES 2>&1 | xcsift --coverage - Show warnings explicitly:
xcodebuild build 2>&1 | xcsift --print-warnings - Quiet success noise:
xcodebuild build 2>&1 | xcsift --quiet - Swift Package Manager workflows:
swift build 2>&1 | xcsiftandswift test 2>&1 | xcsift
Use the flags above (e.g., --coverage-details, --coverage-path) as needed, but keep the default JSON output unless the user asks for more detail.
- Use
fdfor locating files—it's a fast, user-friendly alternative tofind. - Typical commands:
fd src(search everywhere for "src"),fd -e ts foo(look for TypeScript files matching "foo"). - Prefer
fdfor repo-wide file discovery unless the task explicitly requires another tool.
- Use
ripgrep(rg) for searching within files—it is much faster than grep/ack/ag, respects.gitignore, and has smart defaults. - Typical commands:
rg "TODO"(find TODOs),rg -n --glob '!dist' pattern.swift(search with line numbers while excludingdist).
- Prefer the GitHub CLI (
gh) for git-related commands when possible (e.g., PRs, comparisons, release info, repo metadata).