Skip to main content

Generated ASP.NET Core and inspection surfaces for discovered Koan Canon models.

Total Downloads
3.7K
3,692
Published
Sep 13, 2026
1mo ago

Get Started

dotnet add package Sylin.Koan.Canon.Web --version 1.0.86
ProductVersions
.NET
net10.0

README

Sylin.Koan.Canon.Web

Automatic HTTP projection for the Canon models already composed by Sylin.Koan.Canon. Reference the package and each concrete CanonEntity<T> receives Canon-aware routes from the ordinary AddKoan() composition.

dotnet add package Sylin.Koan.Canon.Web

Meaningful result

using Koan.Canon;
using Koan.Core;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddKoan();
var app = builder.Build();
await app.RunAsync();

public sealed class Customer : CanonEntity<Customer>
{
    [MatchKey]
    public string Email { get; set; } = "";
}

POST /api/canon/customer enters the compiled Canon pipeline. /api/canon/models explains the exact models, routes, pipelines, aggregation keys, policies, and audit posture. Successful writes return 200, parked writes return 202, and failed validation returns 422 with Canon events. Bulk writes return 200 with one result per input.

Boundaries

  • Web consumes Canon's host-owned composition plan; it does not rediscover or independently configure canonical models.
  • A route-slug collision fails host composition and names the conflicting CLR model types.
  • This package generates no admin, replay, rebuild, or value-object routes. Use the headless ICanonRuntime.RebuildViews<T> operation from application code when required.
  • Generated model routes use the host's ordinary ASP.NET authentication and authorization policy; this package does not invent a privileged authorization scheme.
  • Runtime commit ordering and partial-write limits belong to Sylin.Koan.Canon and are unchanged by HTTP projection.

See CustomerCanon for the runnable four-line host.

Downloads by Version

Similar & Alternative Packages

Hand-picked matching NuGet libraries based on tags & ecosystem

Depended On By

Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.