I built an open-source .NET/Avalonia desktop workspace with installable packages
Hey r/AvaloniaUI,
I wanted to share a project I’ve been building for a while
It started from a pretty simple frustration
I use a lot of different tools every day: editors, terminals, AI chats, dashboards, scripts, notes, local services, random internal tools. Most apps are great at what they do, but after some time I always end up adapting my workflow around the app.
I kept wishing I had a desktop workspace that worked more like:
“Start with a shell, then install the capabilities you need and organize them by your preference”
So I started building Sunder.
It’s an open-source, local-first desktop app built with .NET and Avalonia. The core idea is that the app itself stays relatively small, and features come from installable packages.
Right now it has:
- A desktop shell
- A local runtime host
- A CLI
- An SDK for package authors
- Package templates
- MSBuild package tooling
- A `.sunderpkg` archive format
- Package-contributed UI, settings, services, storage, secrets, and background work
The first package family I built is AI-agent oriented, because that was the itch I personally had first. I wanted local agent sessions, tools, memory, model providers, and execution targets inside the same desktop workspace.
But Sunder itself is not meant to be “an AI app”.
The part I care about more is the package model. I’d love for people to eventually be able to build packages for developer tools, dashboards, automations, research workflows, personal tools, or anything else that makes sense in a desktop workspace.
I’m not pretending this is perfect or finished. It’s still early, and I’m sure there are things I’ll need to rethink.
But it’s open-source now, and I’d really appreciate feedback from people who have experience with .NET desktop apps, plugin systems, SDK design, or Avalonia.
A few things I’m especially curious about:
- Would you trust/use Avalonia for this kind of desktop app?
- If you were designing a package/plugin system, what would you be careful about?
- Does separating the desktop shell from a local runtime host sound reasonable?
- What kind of package would you expect a workspace like this to support first?
Happy to answer questions or hear criticism : )