CodeLogic Libraries
Twelve production-ready .NET 10 libraries for the
CodeLogic 4 framework.
Databases, email, storage, security, monitoring, and more — each a self-contained
ILibrary that manages its own configuration, lifecycle, and health checks.
Every CL.* package plugs directly into the CodeLogic 4 boot sequence. You load it with
Libraries.LoadAsync<T>(), configure it through an auto-generated JSON file, and the framework
handles initialization order, dependency wiring, and graceful shutdown.
await Libraries.LoadAsync<CL.MySQL2.MySQL2Library>();
await Libraries.LoadAsync<CL.Mail.MailLibrary>();
await Libraries.LoadAsync<CL.TwoFactorAuth.TwoFactorAuthLibrary>();
await CodeLogic.ConfigureAsync();
await CodeLogic.StartAsync();
var mysql = Libraries.Get<CL.MySQL2.MySQL2Library>();
Get started → · Browse all libraries →
MySQL / MariaDB / Percona with typed LINQ → SQL, a working result cache, schema sync modes, and migrations.
PostgreSQL with multi-database support, the Repository<T> + query-builder pattern, table sync, and backups.
SQLite with a custom connection pool, WAL, repository + query builder, and a migration runner.
SMTP send + IMAP read (with IDLE) and a lightweight template engine for HTML and plain-text mail.
Discord webhooks plus Steam Web API profile, ban, and ticket-authentication lookups.
DNSBL blacklist checks and MaxMind GeoIP2 location lookups for IP intelligence.
Game-server queries: Valve Source (A2S) UDP, Source RCON (CS2/CSS), and Minecraft UDP/RCON.
Cross-platform CPU, memory, process, and uptime stats — Windows and Linux (/proc).
Git repository automation via LibGit2Sharp: clone, fetch, pull, push, branch, commit, log.
Why CL.* libraries
- CodeLogic-native — each implements
ILibrarywith the full four-phase lifecycle (Configure → Initialize → Start → Stop). - Self-configuring — config files are auto-generated with sane defaults on first run.
- Health-aware — every library implements
HealthCheckAsync()for operational monitoring. - Isolated — each library owns its own config, log, and data directories.
- Result-based — operations return
Result/Result<T>instead of throwing for expected failures.
Next steps
- Getting Started — reference, register, configure, and use any
CL.*library. - Libraries — the full catalog with per-library guides.
- API Reference — types and members generated from the source XML docs.