Modular by design
Each package solves a clear problem and can be adopted on its own.
Modular .NET Architecture
An open-source ecosystem of small, focused .NET libraries for clean composition, embedded data, validation, generation, and system-oriented tooling.
Created and maintained by Alexandru Luca.
Sashiko is an open-source ecosystem of modular .NET libraries built to make development faster, cleaner, and more enjoyable. Its packages are small, precise building blocks that stand on their own and fit into larger systems for data-rich applications, simulations, and creative software projects.
Each package solves a clear problem and can be adopted on its own.
Runtime dependencies stay intentional so the libraries remain easy to introduce gradually.
Embedded datasets and package behavior are maintained through validation and tests.
The ecosystem is designed to support larger systems without forcing one monolithic dependency.
Sashiko separates reusable software foundations from application-specific logic. The current focus is to keep the existing packages clean, documented, tested, and easy to release while growing the ecosystem one carefully designed package at a time.
Core utilities for the Sashiko ecosystem. Provides deterministic randomization, text normalization, unit conversions, shared abstractions, and foundational helpers for higher-level Sashiko packages.
dotnet add package Sashiko.Core JSON-based registry loading utilities for the Sashiko ecosystem. Provides trusted (embedded) and validated (external) loading paths, schema validation integration, option-aware JSON parsing, and domain-specific error semantics through RegistryLoadException.
dotnet add package Sashiko.Registries Structural validation engine for the Sashiko ecosystem. Provides hierarchical schema extraction, structural comparison, and format-agnostic validation for configuration files and runtime inputs.
dotnet add package Sashiko.Validation Strongly-typed ISO 639-3/2/1 language registry for the Sashiko ecosystem. Provides a complete embedded dataset derived from SIL International's ISO 639-3 tables, with lookup utilities and a stable, immutable registry model.
dotnet add package Sashiko.Languages Culturally aware person name generator for the Sashiko ecosystem. Provides embedded, curated name pools and language-specific generation rules for realistic structured person names without runtime external data sources.
dotnet add package Sashiko.Names Cross-platform system snapshot library for .NET. Provides operating system, CPU, GPU, memory, disk, thermal, and power metrics through a lightweight unified API.
dotnet add package Sashiko.SystemMonitor --prerelease This list is refreshed from NuGet at build time. Public package documentation lives inside each package folder and on NuGet.
View packages on NuGetdotnet add package Sashiko.Core
dotnet add package Sashiko.Registries
dotnet add package Sashiko.Validation Install only the package you need. Each library is versioned and published independently so applications can adopt the ecosystem gradually.
using Sashiko.Names.Api;
using Sashiko.Names.Model.Enums;
var service = new NameService();
var name = service.Generate(Sex.Female, LanguageId.Fra);
Console.WriteLine(name.FullName); using Sashiko.Languages.Api;
var service = new LanguageService();
var language = service.GetIso3("eng");
Console.WriteLine(language.Name); Sashiko is developed openly on GitHub. The repository contains source code, package documentation, issues, releases, branding guidance, and project evolution.