Immediate-mode GUI application framework for C#, built on ImGui.NET + Silk.NET.
Vibekit provides a batteries-included platform layer for building desktop tools with ImGui: window management, menus, keybinds, preferences, layout presets, undo, theming, structured tracing, and a crash-supervising dev host — plus widget packs for canvas, node editing, and timeline/lanes.
11 library projects + 1 sample, all wired through Vibekit.slnx:
Vibekit.Tracing structured tracing primitive (no ImGui dependency)
Vibekit.DevHost crash supervisor, hot-reload bridge, log capture
Vibekit.DevHost.Cli `vibekit-devhost` CLI entry point
Vibekit.Core ImGui + Silk.NET runtime, chrome, keybind manager
Vibekit.Platform AppKit, windows, workspace, theme, layout, prefs,
menus, keybinds, undo, animations, storage
Vibekit.Platform.Keybinds.Sourcegen [Shortcut("ctrl+s")] source generator
Vibekit.Platform.Menus.Sourcegen [Menu("View/Foo")] source generator
Vibekit.Platform.Actions.Sourcegen [Command(path, Icon)] source generator
Vibekit.Widgets.Canvas world-space pan/zoom, gizmos, overlays
Vibekit.Widgets.Lanes timeline + swimlanes (point/span items)
Vibekit.Widgets.Nodes node graph editor (self-rolled, no upstream binding)
samples/Vibekit.Samples.Hello minimal AppKit.Launch reference app
- AppKit — subclass, override
OnSetup(), callLaunch(). Handles the Silk.NET window, OpenGL context, ImGui integration, and frame loop. - BaseWindow family — composable window bases with virtual spec properties
(
DockSpec,MenuSpec,LayoutSpec,BehaviorSpec). Layout-scoped state and durable preferences built in. - Source generators —
[Shortcut],[Menu],[Command]attributes emit registration code at compile time. No runtime reflection on hot paths. - Structured tracing —
TraceLoggerwith seven semantic emitters, hierarchical filtering viaTracePolicy, ANSI-coloured stdout, archival to disk. - Dev supervisor — separate-process crash wrapper with hot-reload, terminal key controls (R/P/Q), and traceback capture.
ImGui.NET 1.91.6.1 + Silk.NET.OpenGL.Extensions.ImGui 2.23.0 on
Silk.NET.Windowing + Silk.NET.OpenGL. Target: net10.0, AOT-friendly.
Prerequisites: .NET 10 SDK.
This project uses sibling path dependencies. Clone it alongside its sibling projects in the same parent directory:
parent/
vibekit/ <-- this repo
oomfi/ <-- example consumer app (optional)
dotnet build Vibekit.slnx
dotnet run --project samples/Vibekit.Samples.Hello