CapyKit Documentation
CapyKit is a small .NET utility library for the code you end up writing repeatedly: collection helpers, string and enum extensions, JSON serialization, gzip compression, password hashing, random token generation, simple key validation, distance calculations, and lightweight event reporting.
The library targets .NET 8 and keeps its public surface intentionally direct. Most features are static helpers or extension methods, so consuming projects can adopt one piece at a time without taking on a framework or application model.
Start Here
- Introduction explains what CapyKit includes and how the namespaces are organized.
- Getting Started shows installation, imports, and common usage examples.
- API Reference contains the generated DocFX reference for every public type and member.
Common Tasks
Work with strings and collections
Use CapyKit.Extensions for small quality-of-life helpers such as null fallback values, pagination, inverted filtering, left outer joins, enum display names, and property copying.
using CapyKit.Extensions;
var displayName = user.Name.IfNullOrWhiteSpace("Guest");
var page = users.Page(pageNumber: 2, pageSize: 25);
Serialize, compress, and restore values
Use CapyKit.Helpers.SerializationHelper and CapyKit.Helpers.CompressionHelper when you need straightforward JSON serialization or gzip compression around serializable values.
using CapyKit.Helpers;
var payload = SerializationHelper.SerializeToString(order);
var compressed = CompressionHelper.CompressToString(order);
var restored = CompressionHelper.Decompress<Order>(compressed);
Hash passwords and generate tokens
Use SecurityHelper for PBKDF2 password hashes, salts, and random values backed by .NET cryptographic random number generation.
using CapyKit;
using CapyKit.Helpers;
Password password = SecurityHelper.Pbkdf2("correct horse battery staple");
bool matches = SecurityHelper.CompareHashedPassword(
password,
"correct horse battery staple",
password.Salt,
Password.Pbkdf2Algorithm);
Listen to CapyKit events
CapyKit reports warnings and errors through CapyEventReporter instead of choosing a logging framework for you. Subscribe at the level your application cares about and route events into your own logging pipeline.
using CapyKit;
CapyEventReporter.Subscribe(
e => logger.LogWarning("{Method}: {Message}", e.MethodName, e.Message),
EventLevel.Warning);
Build The Docs Locally
The documentation is generated with DocFX from the Markdown files in this folder and the XML comments in the CapyKit project.
dotnet tool restore
dotnet docfx Docs/docfx.json --serve
DocFX writes the generated site to Docs/_site.