Skip to content
CAI
Software that uses CAICheck a score

cpisciotta/xcbeautify

56.6

Adequate · 1 October 2026

4.5k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a command-line tool designed to beautify and format Xcode build logs for improved readability. It parses raw xcodebuild output and renders it into structured formats suitable for terminal consoles or specific CI/CD platforms like GitHub Actions, Azure DevOps, and TeamCity. Additionally, it supports generating JUnit reports for test results and operates on macOS and Linux.

Features

Add Azure DevOps and GitHub Actions CI renderers

Users can now format build and test output for Azure DevOps Pipelines and GitHub Actions. This change introduces new renderer implementations that translate compilation errors, warnings, and test results into the specific annotation formats required by these CI platforms (e.g., \\#\#vso\[task.logissue...\]\ for Azure DevOps and \::warning::\ for GitHub Actions), enabling better integration and visibility of build issues within these environments.

Sources/XcbeautifyLib/Renderers/Microsoft · high confidence

Add development and CI tooling scripts

New shell scripts have been added to the tools directory to support development workflows and CI integration. These include check-sorted to verify that CaptureGroups and Parser registrations are sorted, cli-tests to run CLI integration tests against expected outputs, export\_coverage to generate LCOV coverage reports, format and lint to apply and check SwiftFormat (with GitHub Actions support in lint), measure to benchmark performance on large logs, and install-swift-linux-arm64 to set up the Swift toolchain on Linux ARM64 systems.

tools · high confidence

Major release overhaul: Swift 6.1 support, new CI renderers, and Linux builds

This release updates the minimum Swift version to 6.1 and introduces dedicated renderers for GitHub Actions, TeamCity, and Azure DevOps Pipelines, allowing users to integrate formatted output directly into their CI interfaces. The tool now supports formatting Swift Package Manager output and generating JUnit reports, while adding official support for Linux (x86\_64 and arm64) alongside macOS. The Makefile has been restructured to support building universal binaries for macOS and static binaries for Linux, and the repository has migrated its default branch from master to main.

(repo-wide) · high confidence

Removals

Removed Homebrew formula for xcbeautify

The Homebrew formula file for the xcbeautify tool has been deleted from the repository, removing the package definition that previously allowed users to install the tool via Homebrew.

Formula · high confidence

Behavioural changes

Introduce OutputRendering protocol and new renderer implementations

The library now uses a new \OutputRendering\ protocol to define how build output is formatted, replacing the previous ad-hoc formatting approach. This change introduces specific renderer implementations, including \TerminalRenderer\ for standard console output and \TeamCityRenderer\ for TeamCity CI integration, ensuring consistent and structured formatting across different output destinations.

Sources/XcbeautifyLib/Renderers · high confidence

Library refactored into a modular architecture with new parsing and rendering engines

The Xcbeautify library has been restructured into a modular design, separating the core parsing logic, formatting, and output rendering into distinct components. A new \Parser\ class now maps raw \xcodebuild\ output to specific \CaptureGroup\ types using optimized regex matching, while a \Formatter\ delegates the actual text styling to context-aware \Renderer\ implementations (Terminal, GitHub Actions, TeamCity, and Azure DevOps). This change introduces a new \XCBeautifier\ entry point, a \JUnitReporter\ for test result export, and an \OutputHandler\ to manage quiet/CI filtering, providing a more maintainable and extensible foundation for beautifying build logs.

Sources/XcbeautifyLib · high confidence

xcbeautify CLI rewritten with Swift ArgumentParser and renderer architecture

The xcbeautify command-line tool has been completely rewritten to use Swift ArgumentParser instead of the previous Guaka framework, introducing a new \--renderer\ option that allows users to select output formats (such as JUnit, Azure DevOps, or TeamCity) via auto-detection or explicit selection. The CLI now supports flags like \--quiet\, \--quieter\, \--preserve-unbeautified\, \--disable-colored-output\, and \--disable-logging\ to control verbosity and output styling, and it generates JUnit reports to a configurable path. The internal parsing logic has shifted from a monolithic \Parser\ class with hardcoded regex matchers to a modular \Renderer\-based system, and the version has been bumped to 3.2.1.

Sources/xcbeautify · high confidence

Test coverage

Added comprehensive test coverage for XcbeautifyLib parsing and output handling; Added tests for Azure DevOps Pipelines renderer and renderer auto-detection.

Dependencies

Migrate to Swift 6.1 and replace dependencies with swift-argument-parser

The project has upgraded its Swift toolchain to version 6.1 and updated the minimum supported platform to macOS 14. As part of this modernization, the legacy command-line parsing libraries (Guaka and Swiftline) have been removed and replaced with Apple's official swift-argument-parser (v1.5.0+). The package structure has also been refined to explicitly separate the executable target from the library target (XcbeautifyLib), and strict concurrency checks along with internal imports by default have been enabled across all targets.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 63 → 57 (-6.1)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 92 → 92 (+0.0)
  • Architecture 85 → 94 (+8.6)
  • Maturity 64 → 64 (+0.0)
  • Readiness 57 → 45 (-12.6)
  • Security 57 → 57 (+0.0)

Resolved (3)

  • Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
  • Documentation: no installation or build instructions (README.md)
  • Off-boarding risk: anonymized user #1

New (2)

  • Off the main sequence: XcbeautifyLib
  • Off-boarding risk: anonymized user #1

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

cpisciotta/xcbeautify was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 513e4b12c3f6c965d1d3b66bd5cd9d635f03112d — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.