Kkdev92.Tisilia.Generator 0.4.1-alpha

Prefix Reserved
This is a prerelease version of Kkdev92.Tisilia.Generator.
dotnet add package Kkdev92.Tisilia.Generator --version 0.4.1-alpha
                    
NuGet\Install-Package Kkdev92.Tisilia.Generator -Version 0.4.1-alpha
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kkdev92.Tisilia.Generator" Version="0.4.1-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kkdev92.Tisilia.Generator" Version="0.4.1-alpha" />
                    
Directory.Packages.props
<PackageReference Include="Kkdev92.Tisilia.Generator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Kkdev92.Tisilia.Generator --version 0.4.1-alpha
                    
#r "nuget: Kkdev92.Tisilia.Generator, 0.4.1-alpha"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Kkdev92.Tisilia.Generator@0.4.1-alpha
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Kkdev92.Tisilia.Generator&version=0.4.1-alpha&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Kkdev92.Tisilia.Generator&version=0.4.1-alpha&prerelease
                    
Install as a Cake Tool

Tisilia

.NET and TypeScript, connected down to what the types mean. Tisilia reads an ASP.NET Core API from the running application — the endpoints it maps and the System.Text.Json options in effect for each — writes that down as a contract, and generates a TypeScript client that reads and writes exactly the JSON the server does: 64-bit integers, decimals, GUIDs, dates and durations keep their exact values, and what the contract cannot describe is reported with a diagnostic instead of being guessed.

Pre-release. Every version so far is one: dotnet add package and dotnet tool install need --prerelease.

Install

dotnet add package Kkdev92.Tisilia.AspNetCore --prerelease
dotnet tool install --local Kkdev92.Tisilia.Tool --prerelease     # after `dotnet new tool-manifest`

This readme ships in every Tisilia package.

Package Purpose
Kkdev92.Tisilia.AspNetCore AddTisilia, WithTisiliaOperation / [TisiliaOperation], the contract endpoint and the export host
Kkdev92.Tisilia.Tool The tisilia CLI: export, init, generate, check, diff, conformance, codec, explorer build, watch
Kkdev92.Tisilia.Explorer MapTisiliaExplorer(): the Explorer page on an authorized route
Kkdev92.Tisilia.Generator, Kkdev92.Tisilia.Abstractions The contract model, validator and generators the others build on

The generated client runs on the npm package @kkdev92/tisilia-runtime, installed at the version of the CLI that generated it (dotnet tisilia version prints it).

Getting started

builder.Services.AddTisilia(o => o.ApiId = "shop");
var app = builder.Build();

app.MapGet("/orders/{id:guid}", (Guid id) => new Order(id, 9007199254740993L, 1234.50m))
   .WithTisiliaOperation("orders.get");          // only registered endpoints become operations

app.Run();

public sealed record Order(Guid Id, long Revision, decimal Total);
dotnet tisilia export --project src/Api --allow-execute-project     # starts the app once, writes src/Api/tisilia.contract.json
dotnet tisilia init --contract src/Api/tisilia.contract.json --output src/web/src/api
dotnet tisilia generate --config tisilia.json

The generated createShopClient(...).ordersGet({ id }) returns either the declared response — revision as an exact Int64, total as a Decimal that keeps 1234.50 — or a named failure such as unexpected-response, codec-failure, transport-failure or timeout; it does not throw for an HTTP or decoding problem.

Kkdev92.Tisilia.AspNetCore changes no JSON, CORS or authentication setting. It turns on the XML documentation file of the project that references it, without warnings for missing comments, so that /// comments reach the contract, the Explorer and the client's JSDoc; a project that sets GenerateDocumentationFile itself keeps its own setting. It also brings a source generator into that project's build, which reads the handlers of registered operations that declare no response types (Results.Ok(value), an IActionResult action) so that export can describe their responses, and adds one internal class with what it read.

Running code

export and conformance start your application and explorer build runs a package build, so each refuses to without --allow-execute-project, --allow-execute-adapters or --allow-execute-build. generate, check, validate, diff, init and watch never execute anything, and no command fetches code from a contract or a remote origin. The source generator reads source in the compiler and executes nothing of the application.

Documentation

Readme Features, what is guaranteed, known limitations, how it works
Getting started From an API to a typed client, step by step, and the messages you may meet
Changelog What changed in each release
Security What is in scope, and how to report a vulnerability

Source, issues and discussion: https://github.com/kkdev92/tisilia

Author and other projects: https://kkdev92.dev/

License

The original code is MIT, which is what the package metadata says. The packaged NOTICE names what the packages carry from others — Vue in the Explorer page, portions of the Explorer's inline icon set adapted from Feather Icons, and the part of the route template reader adapted from ASP.NET Core. All are MIT-licensed; keep the notice with the package if you redistribute it.

The mascot icon and Explorer artwork have separate branding and identity usage guidance in the included BRAND-ASSET-POLICY.md. It permits normal factual, editorial, documentation, and integration references, without granting endorsement or trademark rights. The source code remains MIT-licensed.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Kkdev92.Tisilia.Generator:

Package Downloads
Kkdev92.Tisilia.AspNetCore

Tisilia for ASP.NET Core: register the operations a TypeScript client should see, and export a contract of the endpoints and the System.Text.Json options in effect for each, from which Tisilia generates an exact client.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.1-alpha 106 10/22/2026
0.4.0-alpha 154 10/19/2026
0.3.1-alpha 100 10/16/2026
0.3.0-alpha 147 10/15/2026
0.2.0-alpha 92 10/9/2026
0.1.0-alpha 316 10/5/2026