r/AvaloniaUI

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 : )

reddit.com
u/Wreit — 2 days ago

TreeDataGrid - Why can't I use this?

I'm a single developer working on a pet project that will never be sold. I want to use TreeDataGrid, but the Community License doesn't seem to support it. And if it does, I can't seem to find my license in the portal.

I get that this company has to make money, but when you leave us with a data grid that is no longer maintained, what are our alternatives? So after upgrading to v12, it seems like I'm just left with an old clunky data grid that will probably stop working at some point. I don't mean to sound ungrateful, because working in Avalonia has been pretty good so far, but I feel data grids should be a basic function within a framework like this.

reddit.com
u/greenmarsh77 — 9 days ago

Parcel - fails when there is a space in the folder path

Is this a known issue? If not, how do I report it? It seems obvious.

If I attempt to build an install from a project here:

C:\Users\erict\Documents\software development\Avalonia UI\EBTWeather

I get the following error when I try to build an install. If the project path doesn't have spaces, it works.

Other than this somewhat basic issue, the installer seems great!

Thanks!

-----

[INF]: Validating project

[INF]: Resolving MSBuild properties

[ERR]: Internal error: System.InvalidOperationException: msbuild process exited with code 1.

[ERR]: Output: MSBUILD : error MSB1008: Only one project can be specified.

[ERR]: Full command line: 'C:\Program Files\dotnet\sdk\10.0.101\MSBuild.dll -maxcpucount --verbosity:m -tlp:default=auto C:\Users\erict\Documents\software development\Avalonia UI\EBTWeather\EBTWeather.Avalonia\EBTWeather.Avalonia.csproj -getProperty:BaseIntermediateOutputPath,BaseOutputPath,UseArtifactsOutput,ArtifactsPath -distributedlogger:Microsoft.DotNet.Cli.Commands.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\10.0.101\dotnet.dll*Microsoft.DotNet.Cli.Commands.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\10.0.101\dotnet.dll'

[ERR]: Switches appended by response files:

[ERR]: Switch: development\Avalonia

[ERR]: For switch syntax, type "MSBuild -help"

[ERR]: Error:

[ERR]: at AvaloniaUI.BuildTools.Utilities.DotNetRunner.<RunDotnet>d__9.MoveNext() + 0x5ff

[ERR]: --- End of stack trace from previous location ---

[ERR]: at AvaloniaUI.BuildTools.MSBuild.MSBuildProjectTools.<GetProjectMetadata>d__0.MoveNext() + 0x9c

[ERR]: --- End of stack trace from previous location ---

[ERR]: at AvaloniaUI.Packagers.Session.PackagingSession.<ResolveMsBuildProperties>d__18.MoveNext() + 0x53

[ERR]: --- End of stack trace from previous location ---

[ERR]: at AvaloniaUI.Packagers.Session.PackagingSession.<PrepareProject>d__11.MoveNext() + 0xf5

[ERR]: --- End of stack trace from previous location ---

[ERR]: at AvaloniaUI.Packagers.Session.PackagingSession.<RunAsync>d__9.MoveNext() + 0x242

reddit.com
u/Eric_Terrell — 8 days ago