A collection of reusable .NET 10 libraries published as NuGet packages under the CreativeCoders.* namespace. Licensed under Apache 2.0.
- Runtime: .NET 10 (
net10.0) - Language: C# (latest stable)
- SDK:
10.0.100(seeglobal.json, rollForward: latestFeature) - Build system: Cake (Frosting) via
CreativeCoders.CakeBuild— entry point isbuild/Program.cs - Versioning: GitVersion (ContinuousDeployment on
main, ContinuousDelivery on feature branches) - Package management: Central Package Management (
Directory.Packages.props) - Testing: xUnit, FakeItEasy, AwesomeAssertions, coverlet
- CI: GitHub Actions (ubuntu, windows, macos) — workflows in
.github/workflows/ - NuGet feed: GitHub Packages (main builds), nuget.org (release builds)
Core.sln Solution file
Directory.Build.props Shared MSBuild properties (TargetFramework, Authors)
Directory.Packages.props Central NuGet version pins
global.json SDK version constraint
GitVersion.yml Versioning configuration
build/ Cake Frosting build project
Program.cs Build entry point (CakeHostBuilder)
BuildContext.cs Build configuration (feeds, tools, settings)
source/ Library source code (see below)
tests/ Unit/integration test projects
samples/ Sample applications
.github/workflows/ CI/CD pipelines
| Area | Projects | Purpose |
|---|---|---|
| Core | CreativeCoders.Core |
Ensure guards, collections, threading, enums, reflection, IO helpers, visitor pattern, object linking, dependency trees |
| AspNetCore | .AspNetCore, .Blazor, .TokenAuth.Jwt, .TokenAuthApi, .TokenAuthApi.Jwt |
ASP.NET Core extensions, Blazor helpers, JWT token auth |
| Cli | .Cli.Core, .Cli.Hosting |
CLI application framework with hosting support |
| SysConsole | .SysConsole.App, .Core, .Cli.Actions, .Cli.Parsing, .CliArguments |
Console applications with Spectre.Console, argument parsing, CLI actions |
| Data | .Data, .Data.EfCore, .Data.EfCore.SqlServer, .Data.Nhibernate, .Data.NoSql, .Data.NoSql.LiteDb |
Data access abstractions, EF Core, NHibernate, LiteDB |
| Net | .Net, .Net.Avm, .Net.JsonRpc, .Net.WebApi, .Net.XmlRpc, .Net.Servers.Http.AspNetCore |
Networking utilities, JSON-RPC, XML-RPC, WebApi client, HTTP server |
| Messaging | .Messaging.Core, .Messaging.DefaultMediator, .Messaging.DefaultMessageQueue |
In-process messaging, mediator pattern, message queues |
| Reactive | .Reactive.Messaging |
Reactive Extensions-based messaging |
| Config | .Config, .Config.Base, .Config.Sources |
Configuration abstraction layer |
| Configuration | .Configuration |
Microsoft.Extensions.Configuration integration |
| Options | .Options.Core, .Options.Serializers, .Options.Storage.FileSystem |
Options pattern with persistence |
| DependencyInjection | .DependencyInjection |
DI container extensions |
| Scripting | .Scripting.Base, .Scripting.CSharp |
C# scripting and source code generation |
| CodeCompilation | .CodeCompilation, .CodeCompilation.Roslyn |
Runtime code compilation via Roslyn |
| DynamicCode | .DynamicCode.Proxying |
Dynamic proxy generation (Castle.Core) |
| IO | .IO.Archives, .IO.Ports |
Archive handling, serial port abstractions |
| Localization | .Localization |
Microsoft.Extensions.Localization integration |
| Daemon | .Daemon, .Daemon.Linux, .Daemon.Windows |
Cross-platform daemon/service hosting (systemd, Windows Services) |
| ProcessUtils | .ProcessUtils |
Process execution utilities |
| UnitTests | .UnitTests |
Test helper library |
| CakeBuild | .CakeBuild |
Reusable Cake Frosting build tasks |
| NukeBuild | .NukeBuild, .NukeBuild.Components |
Nuke build system components |
Use standard dotnet commands for building, testing and restoring:
dotnet restore
dotnet build
dotnet testThe full CI pipeline uses Cake Frosting. These commands are intended for CI/CD and release workflows — not for day-to-day development:
./build.sh -t pack # Linux/macOS
./build.cmd -t pack # Windows
./build.sh -t test # Tests with coverage
./build.cmd -t nugetpush # Full pipeline with NuGet push (CI only)Build targets are defined in CreativeCoders.CakeBuild and configured in build/BuildContext.cs. The build uses GitVersion for automatic semantic versioning and ReportGenerator for coverage reports (output: .tests/coverage-report).
| Workflow | Trigger | Purpose |
|---|---|---|
main.yml |
Push to main |
Build, test, pack, push to NuGet (Linux pushes, Windows/macOS build+test only) |
pull-request.yml |
PR to main |
Build and test on all platforms |
integration.yml |
Manual/schedule | Integration testing |
release.yml |
Release event | Publish to nuget.org |
dependabot-auto-merge.yml |
Dependabot PRs | Auto-merge dependency updates |
sync-ai-config.yml |
Config sync | Synchronize AI configuration files |