Skip to content
@ktsu-dev

ktsu.dev

ktsu.dev

.NET libraries and tools that use strong typing and focused APIs to catch errors at compile time instead of at runtime.

ktsu.dev is a collection of open source .NET libraries built and maintained by Matt Edmondson. It started in May 2023 and now spans more than 60 public repositories, published to NuGet under the ktsu.* namespace. Each library solves one specific problem with a small, clear API, reflecting lessons learned from years of building production systems in games and live services.

Design Principles

Strong Typing and Semantic Clarity. Replace primitive types with domain-specific types, because a bug caught at compile time is cheaper than the same bug found in production. Types carry intent, so code reads as what it means.

Focused APIs. Each library does one job with a small surface area. Boilerplate and ceremony are kept out of the caller's code.

Composable Infrastructure. Provider-pattern libraries put an interface between application code and infrastructure, so backends can be swapped and tested without rewriting the code that uses them.

Modern .NET with Broad Reach. Libraries use current platform features (generic math, nullable reference types, the latest language versions) while multi-targeting from netstandard2.1 through the newest .NET, so older codebases can still consume them.

Key Libraries

Type Safety and Semantics

  • Semantics: semantic strings with validation, strongly typed file paths, and over 80 physical quantities with compile-time dimensional analysis
  • PreciseNumber: arbitrary precision arithmetic built on .NET generic math
  • SignificantNumber: arithmetic that preserves numerical precision through significant figures

Providers

  • PersistenceProvider: unified persistence with swappable storage backends (Memory, FileSystem, AppData, Temporary)
  • SerializationProvider: serialization behind a common interface so formats can change without touching call sites
  • FileSystemProvider: file system access as an injectable, testable dependency
  • ThemeProvider: theme management and styling using color science and semantic remapping
  • ImGuiProvider: ImGui abstraction layer for backend-independent UI code

UI and Tools

  • ImGuiApp: Dear ImGui application scaffolding, widgets, modal dialogs, and styling
  • BlastMerge: cross-repository file synchronization through iterative merging with interactive conflict resolution

Utilities

Getting Started

All libraries ship as NuGet packages:

dotnet add package ktsu.Semantics.Strings
dotnet add package ktsu.PersistenceProvider
dotnet add package ktsu.ImGui.App

ktsu.Sdk

ktsu.Sdk is the MSBuild SDK that every ktsu.dev library builds on. Centralizing the build configuration means a fix or a standards change lands in one place and every repository picks it up.

The SDK provides:

  • Build Configuration: shared compiler settings, warnings, and code analysis rules across all projects
  • Code Quality Enforcement: integrated analyzers and style rules, with warnings treated as errors
  • Automated Packaging: NuGet package generation with versioning and metadata
  • Development Tools: common build targets and utilities for library development

Usage

Reference the SDK in the project file alongside the standard .NET SDK:

<Project>
  <Sdk Name="Microsoft.NET.Sdk" />
  <Sdk Name="ktsu.Sdk" />

  <!-- Your project configuration -->
</Project>

Pin SDK versions in global.json so every project in a solution builds with the same toolchain and updates happen in one place:

{
  "sdk": {
    "version": "9.0.301",
    "rollForward": "latestFeature"
  },
  "msbuild-sdks": {
    "MSTest.Sdk": "4.0.2",
    "ktsu.Sdk": "1.75.0",
    "ktsu.Sdk.ConsoleApp": "1.75.0",
    "ktsu.Sdk.App": "1.75.0"
  }
}

Project Status

Applications

Repo Stable winget Activity Status README
BlastMerge GitHub Version winget Activity Status README
BuildMonitor GitHub Version Activity Status README
Coder GitHub Version Activity Status README
CrossRepoActions GitHub Version Activity Status README
FileDeduplicator GitHub Version Activity Status README
IconHelper GitHub Version Activity Status README
ImageDescriber GitHub Version Activity Status README
KtsuTools GitHub Version Activity Status README
ProjectDirector GitHub Version Activity Status README
SvnToGit GitHub Version Activity Status README
SyncFileContents GitHub Version Activity Status README
TUI GitHub Version Activity Status README

Libraries

Repo Stable Prerelease Activity Status README
AppDataStorage GitHub Version Activity Status README
CaseConverter GitHub Version Activity Status README
CodeBlocker GitHub Version Activity Status README
Containers GitHub Version Activity Status README
CredentialCache GitHub Version Activity Status README
DeepClone GitHub Version Activity Status README
DelegateTransform GitHub Version Activity Status README
Essentials GitHub Version Activity Status README
Extensions GitHub Version Activity Status README
Frontmatter GitHub Version Activity Status README
FuzzySearch GitHub Version Activity Status README
GitIntegration GitHub Version Activity Status README
ImGuiApp GitHub Version Activity Status README
ImGuiCredentialPopups GitHub Version Activity Status README
ImGuiProvider GitHub Version Activity Status README
IntervalAction GitHub Version Activity Status README
Invoker GitHub Version Activity Status README
JsonRequiredConditionally GitHub Version Activity Status README
Keybinding GitHub Version Activity Status README
KtsuBuild GitHub Version Activity Status README
Navigation GitHub Version Activity Status README
NJsonSchemaJsonConverter GitHub Version Activity Status README
PreciseNumber GitHub Version Activity Status README
RoundTripStringJsonConverter GitHub Version Activity Status README
RunCommand GitHub Version Activity Status README
Schema GitHub Version Activity Status README
ScopedAction GitHub Version Activity Status README
Semantics GitHub Version Activity Status README
SignificantNumber GitHub Version Activity Status README
SingleAppInstance GitHub Version Activity Status README
Sorting GitHub Version Activity Status README
TextFilter GitHub Version Activity Status README
ThemeProvider GitHub Version Activity Status README
UndoRedo GitHub Version Activity Status README

Popular repositories Loading

  1. ImGuiApp ImGuiApp Public

    A comprehensive .NET library suite for building desktop applications with Dear ImGui.

    C# 9 3

  2. TUI TUI Public

    A modern, extensible Text User Interface (TUI) library for .NET that provides rich terminal UI components built on Spectre.Console.

    C# 3 1

  3. AppDataStorage AppDataStorage Public

    A .NET library for persistent application data storage using JSON serialization.

    C# 2 1

  4. ImGuiWidgets ImGuiWidgets Public archive

    PowerShell 2

  5. FuzzySearch FuzzySearch Public

    Lightweight .NET fuzzy string matching library with intelligent scoring for search-as-you-type, command palettes, and flexible string matching applications.

    C# 2

  6. Invoker Invoker Public

    A .NET library that ensures delegates are executed on the intended thread, simplifying thread management in UI and graphics applications.

    C# 2

Repositories

Showing 10 of 72 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…