r/dotnet • u/KNIGHT-AIAV • 13h ago
Promotion Shipping a small WPF utility: .NET 8, a NativeAOT helper and Velopack
galleryI built Ringside at Knight AI+AV, a free Windows utility that displays Claude Code and Codex usage limits. Sharing the source because the desktop packaging and integration choices may be useful to other .NET developers.
- The UI is WPF on .NET 8, published self-contained for win-x64.
- The optional Claude Code status-line bridge is a separate NativeAOT console app. It saves the supplied limit numbers, then chains the user's existing status-line command.
- The Codex reader keeps a byte offset for each session log and processes newly appended complete lines, rather than rereading the whole file on every poll.
- Velopack handles the per-user installer and updates from GitHub releases. The updater checks for and downloads updates; automatic checks can be disabled.
- The repository includes xUnit tests, and the build script runs the test project before publishing the application.
The widget also uses a tool-window style to stay out of Alt+Tab and avoids taking focus from the editor. Windows 10 and 11, 64-bit; MIT licensed.
Source: https://github.com/KNIGHT-AI-AV/ringside
If you've shipped a WPF app with a small native helper, I'd be interested in the packaging or upgrade edge cases you ran into.