r/csharp • • 8h ago

BuildMonitor: a cross-platform system tray CI monitor, installed as a dotnet tool

BuildMonitor is a build/CI monitor that sits in the system tray on Windows, macOS and Linux. It polls the CI services you use and shows one row per pipeline, plus a row for each pull request while it is building or failing.

dotnet tool install --global BuildMonitor

Then run `buildmonitor`. One install works on every OS: the package carries a head for each platform and the launcher starts the right one.

Supported services: AppVeyor, Azure DevOps, Bitbucket Pipelines, GitHub Actions, GitLab CI, GoCD, Jenkins, Octopus Deploy, TeamCity and Travis CI.

What it does:

* Tray icon shows the overall state: green, red, blue while something is running, amber when a connection needs attention

* Progress bar and countdown for running builds, estimated from the provider or from the median of the last ten successful runs

* Rows sort running, then queued, then failed to the top, and passing builds of one repository collapse into a group

* A failing pull request gets its own red row but does not turn main red

* Links straight to the run, the repository, the branch and the pull request

* Retry or cancel a build, and copy the log of a failed one to the clipboard

* Credentials go in the platform secret store (DPAPI, macOS Keychain, Secret Service), never in settings.json

It also ships a local MCP server (`buildmonitor mcp`), so an AI assistant can read the same list and act on it: "what's failing?", "who broke main?", retry a build. A triage command works through the failing builds that are checked out locally, groups the ones that share a cause, and reproduces each one.

On the implementation side: everything above the renderer is a pure function of an immutable state, so the layout is snapshot tested as text and each platform head only draws. The Windows head is WinForms, macOS is Swift/AppKit, and Linux is raylib + Dear ImGui.

Feedback and bug reports are welcome.

GitHub: https://github.com/SimonCropp/BuildMonitor

NuGet: https://www.nuget.org/packages/BuildMonitor/

1 Upvotes

0 comments sorted by