Meows.Plugins.Template 0.5.0

dotnet new install Meows.Plugins.Template@0.5.0
                    
This package contains a .NET Template Package you can call from the shell/command line.

Meows plugin template

A dotnet new template for a Meows plugin. It writes the project, the plugin class, a view and a view model, ready to build and drop into a plugins folder.

dotnet new install Meows.Plugins.Template
dotnet new meows-plugin -n WeatherWatch

That gives you:

WeatherWatch/
  WeatherWatch.csproj          net10.0, Avalonia and the contract, both runtime excluded
  WeatherWatch.cs              the IMeowsPlugin implementation
  WeatherWatchView.axaml       the tab, using theme colours and translated strings
  WeatherWatchView.axaml.cs
  WeatherWatchViewModel.cs     with the host wired in
  Strings/Strings.en.json      what the tab says
  Strings/Strings.de.json      the same in German

The view asks the shell for its colours with {DynamicResource Meows...} and its words with {m:Tr weatherwatch.title}, so a generated plugin follows the theme and the language from the first build. Delete either if you would rather not.

The plugin id is taken from the name in lower case. Change it before anyone installs the plugin: it is the settings key, so moving it later orphans whatever was stored.

--Category "group.everyday" sets the heading it appears under on the Plugins tab. The built-in headings are keys (group.everyday, group.disk, group.bot) and are translated; anything else makes a group of its own and is shown exactly as written. The shell keeps no list of valid ones.

Building and installing it

dotnet build -c Release -o path/to/plugins/WeatherWatch

The output folder must be named after the dll. Put it under the plugins directory beside Meows.exe, or point MEOWS_PLUGINS_DIR at a folder of your own, which adds to the search rather than replacing it.

Meows.exe --list-plugins

says what was found and why anything was refused.

Why both references exclude the runtime

The shell supplies Avalonia and the contract at run time, and there has to be exactly one copy of each. A plugin carrying its own Avalonia hands back a Control of a type the shell cannot host. Meows checks the version of both when it loads a plugin and refuses anything it cannot honour, with the reason on the plugin's card rather than a crash later.

Full documentation: PLUGIN-GUIDE.md

MIT licensed.

  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.5.0 75 9/13/2026
0.4.0 90 9/4/2026
0.3.0 104 9/3/2026
0.2.1 96 9/2/2026