KafkaModelGenerator 1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global KafkaModelGenerator --version 1.0.2
                    
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 KafkaModelGenerator --version 1.0.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=KafkaModelGenerator&version=1.0.2
                    
nuke :add-package KafkaModelGenerator --version 1.0.2
                    

Kafka Topic Model Generator

A tool that parses Kafka topic schemas and generates C# POCO models that can be used with Confluent's SDK to publish and subscribe to topics.

Main functionalities

  • Parses Kafka topic schemas. Supported formats:
    • json
  • Outputs C# POCO models tailored to work with Confluent's .Net SDK serializers
  • Outputs the Kafka topic schemas, used as inputs with any necessary adjustments to work with the generated models

Installing the tool

# Install as a global tool: Makes the tool available system-wide (in your PATH)
dotnet tool install -g KafkaModelGenerator

# Install a specific version, as a global tool
dotnet tool install -g KafkaModelGenerator --version <VERSION>

---

# Install as a local tool: Installs into .config/dotnet-tools.json
dotnet new tool-manifest   # only once per repo
dotnet tool install KafkaModelGenerator

# Install a specific version, as a local tool
dotnet tool install KafkaModelGenerator --version <VERSION>

Using the tool

Usage:
  kafka-model-generator --schema-content "<schema-content>" --schema-type "<schema-type>" --output-dir "<output-directory>" [--namespace "<namespace>"] [--root-class-name "<root-class-name>"]
  kafka-model-generator --schema-file "<schema-file-path>" --schema-type "<schema-type>" --output-dir "<output-directory>" [--namespace "<namespace>"] [--root-class-name "<root-class-name>"]

Examples:
  kafka-model-generator --schema-content "{ \"title\": \"OrderCreated\", \"type\": \"object\", \"properties\": { \"id\": { \"type\": \"string\" } }, \"required\": [\"id\"] }" --schema-type "json" --output-dir "./Generated"

  kafka-model-generator --schema-file "./schemas/order-created.json" --schema-type "json" --output-dir "./Generated" --namespace "MyCompany.Kafka.Models"

Notes:
  --schema-content    Full schema content as a string
  --schema-file       Path to a file containing the JSON schema
  --schema-type       One of the supported schema types. Accepts: json
  --output-dir        Directory where generated files will be written
  --namespace         Optional. Default: Generated.Kafka.Models
  --root-class-name   Optional. Overrides the generated root class name
  --help              Show help

Notes

  • 1 and only 1 of --schema-content and --schema-file must be provided
  • The tool will generate 2 files in the provided --output-dir:
    • 1 file with the C# POCOs
    • 1 file with the normalized schema, with potential necessary adjustments to make it work with Confluent's .Net SDK
  • Confluent's .Net SDK expects the schema's title to match the C# class name. The tool will follow this priority when de termining the generated C# class name:
    • --root-class-name, if provided
    • The schema's title property, if present
    • The default value: KafkaMessage
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 was computed.  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
1.1.6 112 9/9/2026
1.1.5 127 8/19/2026
1.1.4 120 8/12/2026
1.1.3 131 7/16/2026
1.1.2 142 6/11/2026
1.1.1 138 5/14/2026
1.1.0 134 5/4/2026
1.0.3 136 4/22/2026
1.0.2 144 4/10/2026
1.0.1 555 4/5/2026
1.0.0 142 4/5/2026