The fact that
@SwiftLang's swift-build is open source means we now have access to build-time data *during* builds. Information that never makes it to .xcresult, .xcactivitylog, or xcodebuild logs.
When you hit Build in Xcode, you're not directly invoking compilers. Your request goes to SWBBuildService, which communicates via MessagePack over stdin/stdout pipes. Every build event is a discrete, typed message with structured data: per-task timing, memory usage, dependency graphs, cache hit rates, rebuild causality. None of which reaches the terminal.
We got curious: what if an AI agent could tap into this stream instead of parsing logs?
So we forked swift-build and added capabilities to SWBBuildService to output structured data to an SQLite database that an agent can query during or after a build.
We tested it against two real codebases:
@Wikipedia iOS (19 targets, 3,303 tasks, 457s):
An agent identified that WMF (246s) was blocking 4 other targets, asset catalog compilation alone took 131 seconds as a single non-parallelizable task, and the build achieved 2.1x parallelization against a theoretical 955s serial path.
Tuist (35 targets, 4,952 tasks, 64s):
The agent found TuistSupport (15s) blocking 24 downstream targets, TuistCore (25s) blocking 18, and TuistServer (60s) blocking 5. It achieved 6.2x parallelization. It even surfaced 269 warnings with actionable recommendations: regenerate SwiftProtobuf files, fix deprecated OpenAPI fields, address a Swift 6 Sendable issue with NSCache, and suggested splitting TuistSupport into smaller modules.
This isn't guessing from log output. It's analysis based on actual dependency relationships, task timing, and resource metrics the build system tracks internally but never exposes.
We've open-sourced this fork. It's called Argus. Getting started is simple: install it via mise, set XCBBUILDSERVICE_PATH in your environment so all developers use it automatically, and configure your agent's memory with the instructions from the README. From there, agents can query build data and provide insights tailored to your project.
The vision goes beyond single builds. Imagine team-wide build intelligence across CI pipelines, proactive assistance before you modify a file that triggers a near-clean rebuild, or real-time intervention when a target takes longer than usual mid-build.
Much of this is achievable today with post-build artifacts (which is what we're building with Tuist's Build Insights). But protocol-level access unlocks real-time capabilities and richer causality data that post-hoc parsing can't provide.
Full blog post with implementation details, analysis, and setup instructions:
tuist.dev/blog/2025/11/27/te…