Runneth Over Studio's .NET project templates (GUI / TUI) for in-house utilities.
UtilityTemplates provides a curated set of .NET project templates used internally at Runneth Over Studio to rapidly scaffold small, purpose-built utilities with a consistent structure and engineering standards.
The goal is not to be generic or exhaustive, but idiomatic: to reflect how we actually design, build, and ship internal tools across platforms, and to remove friction from spinning up new utilities while keeping quality and consistency high.
There is a template for a desktop GUI application (Avalonia) and a terminal user interface application (RazorConsole). Both templates contain:
- Samples - Basic business functionality and views to demonstrate usages and get running faster
- Cross-Platform - Runs on Windows, macOS, and Linux
- Three-Tier Architecture - Data → Business → Presentation layers
- MVVM Design Pattern - Presentation layer with clean separation of concerns using CommunityToolkit.Mvvm
- Dependency Injection - Built-in DI container for testable, maintainable code
- Convention-Based Routing - ViewModel driven navigation between views
This consistency allows developers to switch between GUI and TUI projects seamlessly, reusing skills and patterns across both.
-
Install all templates with one command
dotnet new install RunnethOverStudio.UtilityTemplates
-
List installed templates
dotnet new list
-
Use either template
dotnet new ros.guiapp -n MyGuiApp dotnet new ros.tuiapp -n MyTuiApp
-
Uninstall when needed
dotnet new uninstall RunnethOverStudio.UtilityTemplates
This project uses Semantic Versioning.
- MAJOR version: Incompatible API changes
- MINOR version: Backward-compatible functionality
- PATCH version: Backward-compatible bug fixes
-
All projects target the LTS version of the .NET SDK.
-
The Build project uses Cake (C# Make) as the build orchestrator and can be launched from your IDE or via script.
- On OSX/Linux run:
./build.sh
- If you get a "Permission denied" error, you may need to make the script executable first:
chmod +x build.sh
- On Windows PowerShell run:
./build.ps1