SDK and host for package authors

Build the tool. Let Sunder provide the app.

With Sunder, your product can be a package. Sunder provides the desktop host, package lifecycle, settings, secrets, storage, logs, validation, Registry, install flow, update flow, and cross-platform shell. You focus on the tool users actually want.

Why not a standalone app?

Most tool ideas should not start with months of app plumbing.

A useful desktop tool still needs a lot around it before anyone can install and trust it. Sunder gives package authors the host and delivery path first, so the work can start with the panel, command, automation, integration, or workflow that creates value.

Package ideas

Examples of packages worth building.

Sunder is a good fit for tools that need native desktop access, local files, commands, APIs, background work, hardware, or AI assistance but should not become separate apps.

Internal admin panel

Wrap an internal API, database, queue, or support workflow in a native Sunder view.

Hardware control panel

Build UI for a local device, 3D printer, serial tool, lab instrument, or robot workflow.

Command wrapper

Turn scripts, imports, exports, backups, deploys, and maintenance commands into package UI.

Agent extension

Add tools, providers, skills, memory, MCP integrations, or Builder workflows around Sunder Agent.

Business dashboard

Show invoices, orders, metrics, inventory, alerts, or operational data without shipping a whole app.

File utility

Create a package that watches folders, processes files, renames assets, converts images, or organizes downloads.

What Sunder provides

The boring platform pieces are already there.

Package authors still write the package logic and UI, but they do not need to reinvent the whole host app, lifecycle, storage, settings, logging, distribution, and extension model first.

01

Desktop host

Use Sunder's app frame, package panels, settings navigation, notifications, and theme resources.

02

Package lifecycle

Let Sunder handle install, update, enable, disable, uninstall, readiness, activation, faults, and assets.

03

Settings and secrets

Declare package configuration and secret fields instead of building every settings screen from scratch.

04

Storage and logs

Use package-scoped files, cache, key-value state, event logs, and runtime diagnostics.

05

Registry delivery

Publish .sunderpkg versions so users can discover, install, and update your tool.

06

Cross-platform shell

Target the Sunder host instead of maintaining separate desktop infrastructure for Windows, macOS, and Linux.

07

Extension model

Expose typed extension points or extend package hosts such as Sunder Agent.

08

AI-assisted path

Use Agent Builder when you want a Sunder package created and iterated from inside Sunder.

For vibecoders

Agent Builder can turn a request into a real Sunder package.

Sunder is not only for people who want to manually set up an IDE and desktop app project. Agent Builder is meant for creating a package from inside Sunder, then letting Agent Chat generate, edit, build, test, and iterate on the tool.

Plain answers

Direct answers for package authors.

Short explanations for developers and AI-assisted builders evaluating the Sunder SDK, host, CLI, and Registry workflow.

What is a Sunder package?

A Sunder package is an installable tool for Sunder. It can add views, settings, services, integrations, tools, workflows, commands, dashboards, and typed extensions to Sunder App.

How do developers create a Sunder package?

Developers can use Sunder.Package.Templates and the SDK, or use Agent Builder for AI-assisted package creation. The direct workflow creates a package project, builds sunder-dev output, tests it with --dev-package, then publishes a .sunderpkg archive.

dotnet new install Sunder.Package.Templates

How are Sunder packages published?

Package authors validate the generated .sunderpkg archive with the Sunder CLI, authenticate with browser login or a token, then publish the immutable package version to Sunder Registry.

sunder package validate MyPackage.1.0.0.sunderpkg

What does Sunder provide to package authors?

Sunder provides the desktop host, package lifecycle, settings, secrets, storage, logging, extension points, SDK contracts, CLI tooling, validation, Registry distribution path, and cross-platform shell.

What does Agent Builder change for vibecoders?

Agent Builder lets a user start a Sunder package inside Sunder and ask Agent Chat to create, edit, build, and test it, without manually assembling the full desktop app setup first.

Quickstart

From template to published package.

The manual developer path uses templates, local sunder-dev output, Sunder App dev loading,.sunderpkg archives, CLI validation, authentication, and Registry publishing.

Package author workflow
dotnet new install Sunder.Package.Templates
dotnet new sunder-package --name MyPackage --packageId my.company.package --packageName "My Package"
dotnet build
Sunder.App.exe --dev-package .\MyPackage\bin\Debug\net10.0\sunder-dev
dotnet publish
sunder package validate .\MyPackage.1.0.0.sunderpkg
sunder auth login
sunder publish --file .\MyPackage.1.0.0.sunderpkg

SDK areas

Use SDK contracts instead of app internals.

Packages use Sunder SDK contracts to declare metadata, register native views, expose extensions, manage package state, store secrets, log events, run background work, and integrate with the host shell.

Packaging metadataModule lifecyclePackage contextContributionsViewsWorkspacesExtensionsConfigurationStorageSecretsLoggingNotificationsBackground processesShell integrationSettings navigationPackage sessionsCallbacksAuthTheme resourcesSDK compatibility

Distribution

Ship package versions through the Registry.

Sunder gives package authors a distribution path. The CLI validates package archives before upload. The Registry stores immutable versions, artifacts, icons, profile media, ownership, dist tags, and package management metadata.

Validate

Check manifest fields, archive shape, hashes, file sizes, icons, unsafe paths, and duplicate paths.

Publish

Use browser auth, saved tokens, environment tokens, or explicit publish tokens.

Manage

Set dist tags, yank, unyank, deprecate, and undeprecate package versions.

Package ecosystem

Build the package. Let Sunder carry the app.

Backed by

Package author questions.

Why build a Sunder package instead of a standalone app?

Sunder already provides the desktop host, package lifecycle, settings, storage, secrets, logging, Registry distribution, install flow, update flow, and cross-platform shell. You can focus on the tool users actually need.

What does a Sunder package build produce?

dotnet build emits a sunder-dev folder for local development. dotnet publish emits a distributable .sunderpkg archive.

How do developers publish packages?

Developers validate a .sunderpkg archive and publish it to Sunder Registry with the Sunder CLI.

Can packages expose extension points?

Yes. Packages can expose typed contracts so other packages can extend them without referencing host implementation projects.

Can Agent Builder help create packages?

Yes. Sunder Agent Builder is designed for AI-assisted package creation and iteration inside Sunder. Developers can still use the SDK, templates, CLI, and source code directly.

What framework do package projects target?

Current package projects target net10.0 and reference Sunder.Sdk plus Sunder.Package.Build.