Itecho.TsGen 10.1.0

dotnet tool install --global Itecho.TsGen --version 10.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Itecho.TsGen --version 10.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Itecho.TsGen&version=10.1.0
                    
nuke :add-package Itecho.TsGen --version 10.1.0
                    

Installation

The package is published to nuget.org, so no custom feed or credentials are required.

dotnet tool install --global Itecho.TsGen

To pin it per-repository instead, add a local tool manifest and install into it:

dotnet new tool-manifest        # if you don't already have one
dotnet tool install Itecho.TsGen

Which will generate the following file:

{
  "version": 1,
  "isRoot": true,
  "tools": {
    "itecho.tsgen": {
      "version": "1.0.0",
      "commands": [
        "itecho.tsgen"
      ]
    }
  }
}

Then run the following command to restore the tool:

dotnet tool restore

Usage

dotnet itecho.tsgen ...

Configure in csproj to run the tool after build


<Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command="dotnet itecho.tsgen ..."/>
</Target>

Prepare Release

Update .csproj version, create tag in git and push. Automated with tool Versionize. https://github.com/versionize/versionize Follow commit convention: https://www.conventionalcommits.org/en/v1.0.0/

dotnet versionize
# fix
git commit -a -m "fix: something went wrong we need a bugfix release"
dotnet versionize
# Generates version 1.0.1

# feat
git commit -a -m "feat: something really awesome coming in the next release"
dotnet versionize
# Generates version 1.1.0

# BREAKING CHANGE
git commit -a -m "feat: a really cool new feature" -m "BREAKING CHANGE: the API will break. sorry"
dotnet versionize
# Generates version 2.0.0

Publish

After running dotnet versionize, the version is bumped, CHANGELOG.md is updated, and a git tag is created.

Step 1: Push changes and tags

git push --follow-tags origin main

Step 2: Create a GitHub Release

The GitHub Actions workflow triggers on release creation (not tag push). Create a release using one of these methods:

Option A: GitHub CLI

gh release create v8.0.3 --generate-notes

Option B: GitHub Web UI

  1. Go to https://github.com/itechodev/typescriptgen/releases/new
  2. Select the tag (e.g., v8.0.3)
  3. Add a title and description
  4. Click "Publish release"

What happens next

The GitHub Actions workflow (.github/workflows/release.yml) will:

  1. Build the project in Release mode
  2. Run tests
  3. Pack the NuGet package
  4. Push to nuget.org at https://api.nuget.org/v3/index.json (using the NUGET_ORG_API_KEY repository secret)
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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.

This package has no dependencies.

Version Downloads Last Updated
10.1.0 441 7/6/2026

10.1.0 — RESTful attribute-routed controllers: read HTTP verb templates ([HttpGet("...")]), implicit route parameter binding ({id} → ${id} in TS), strip route constraints (:guid, ?, =default), map Guid → string, filter CancellationToken parameters. Multi-target net8.0 + net10.0.