Modular .NET library ecosystem bridging OOP and Functional Programming — Result monads, discriminated unions, rules engine, and more.
Every abstraction earns its place. No ceremony, no boilerplate — just composable, null-safe, type-driven primitives.
Chain operations with Result<T> and Error — no exceptions leaking across boundaries.
First-class Any<T1,T2,...> types bring exhaustive pattern matching to C# without the ceremony.
Build validation and business logic with .And() .Or() .Next() — readable, testable, reusable.
Full nullable annotations with TreatWarningsAsErrors — null reference bugs caught at compile time.
EntityBase<TId>, domain events, EF Core interceptors, and pagination out of the box.
Take only what you need. Each package is independently versioned and published. Or grab the meta-package for everything.
Targeting .NET 9, .NET 8, netstandard2.1, and netstandard2.0. Central package management keeps versions consistent.
Railway-oriented error handling with Result<T> — chain operations without throwing exceptions.
Structured Error values with codes and metadata — no exceptions as control flow.
Explicit optionals with Maybe<T> — make the absence of a value visible in your type signatures.
Discriminated unions Any<T1,T2> for exhaustive pattern matching without class hierarchies.
String, GUID, and collection utilities that should be in the BCL but aren't.
Extensions · Helpers[StringEnum] source generator for AOT-safe, allocation-free enum-to-string conversion.
Composable rule engine with .And() .Or() .Next() — build readable, testable validation trees.
Lightweight CQRS mediator with pipeline behaviors, logging via ILoggableRequest.
EntityBase<TId> with domain event support — the foundation for DDD aggregates.
EF Core interceptors for domain events, soft delete, auditing, and cursor/offset pagination.
Interceptors · PaginationGlobalExceptionHandler, Result-aware action filters, and problem details mapping.
HttpClient extensions that return Result<T> instead of throwing on non-2xx responses.
Pre-configured System.Text.Json options with Result/Maybe converters included.
ASP.NET Core middleware for structured request/response body logging with configurable filtering.
Middleware · ILoggerGCP Secret Manager integration that surfaces secrets as standard IConfiguration entries.
Testable IDateTimeProvider — swap real time for fixed time in unit tests without static hacks.
Strongly-typed deep copy via ICloneable<T> — explicit, type-safe, no object returns.
Model-first validation returning Result<T> natively. Zero reflection — no expression trees, no deferred builds.
19 per-package skills for Claude Code, Cursor, Codex, and 50+ compatible AI agents. Install once and every agent in your workflow gets structured, accurate knowledge of each package's API.
npx skills add senrecep/CSharpEssentials
npx skills add https://senrecep.github.io/CSharpEssentials
After install, your AI assistant knows the full API surface of each package — types, methods, patterns, and idiomatic usage — without hallucination.