CapyKit/Docs/index.md

2.8 KiB

_layout
landing

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 install -g docfx
docfx Docs/docfx.json --serve

DocFX writes the generated site to Docs/_site.