MetaCode.TS3.CLI 3.0.33 The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved

.NET 6.0
dotnet tool install --global MetaCode.TS3.CLI --version 3.0.33
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 MetaCode.TS3.CLI --version 3.0.33
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MetaCode.TS3.CLI&version=3.0.33
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package MetaCode.TS3.CLI --version 3.0.33
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Overview

A dotnet tool (mcts3) for model-first template-based code generation. Features built-in generators for producing source code for a variety of data model uses.

Features

  • Models can be defined in .NET assemblies or JSON.
  • Targetting .NET Standard 2.0 and .NET 6.0
  • In-the-box templates for generating:
    • ordinary mutable classes (POCOs);
    • immutable classes (with builders);
    • immutable classes based on C# records;
    • freezable classes;
    • serializable classes for Protobuf-Net, JSON and MessagePack;
    • shared interfaces for all the above.

Command-line use

TBD

  1. Get or create a model
  2. Choose a generator
  3. Generate!

Built-in Generators

Id Lang. Structure Mutability Serialization
Interfaces C# Flat Read-only
JsonPoco C# Flat Mutable JSON
Freezables C# Flat Freezable
Immutables C# Flat Immutable
Records C# 9 Flat Immutable
MsgPack C# Flat Mutable MessagePack
ProtbufNet3 C# Flat Mutable Protobuf.Net
Contracts C# Poly. Read-only
ClassesV2 C# Poly. Freezable
RecordsV2 C# 9 Poly. Immutable
MsgPackV2 C# Poly. Mutable MessagePack
MsgPackV3 C# Poly. Freezable MessagePack

Notes:

  • Read-only = client cannot invoke change;
  • Immutable = provider will never change data;
  • Freezable = mutable until frozen, then immutable.
  • Poly. = polymorphic i.e. supports inheritance.

Build your own generator

TBD

Under consideration

  • serialization for:
    • interoperable MessagePack
    • MsgPack.CLI
    • XSD
    • Bond
    • DataContract
    • polymorphic JSON
  • other languages;
  • SQL and EF
Product Versions
.NET net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
3.0.33 33 6/30/2022
3.0.30 56 6/4/2022
3.0.29 73 5/14/2022
3.0.26 64 5/6/2022
3.0.22 66 5/1/2022
3.0.20 67 4/29/2022
3.0.18 59 4/29/2022
3.0.14 66 4/29/2022
3.0.12 65 4/27/2022
3.0.11 78 4/13/2022
3.0.10 73 4/12/2022
3.0.9 72 4/11/2022
3.0.6 74 3/24/2022
3.0.5 63 3/22/2022
3.0.4 56 3/21/2022
1.2.1-beta 48 3/17/2022
1.1.3 69 3/16/2022
1.1.2 64 3/13/2022
1.1.1 67 3/9/2022
1.0.62 79 2/13/2022
1.0.59 67 2/11/2022
1.0.56 65 2/11/2022
1.0.53 94 1/13/2022
1.0.50 103 12/25/2021
1.0.46 101 12/22/2021
1.0.44 99 12/22/2021
1.0.43 102 12/21/2021
1.0.41 106 12/21/2021
1.0.40 129 11/28/2021
1.0.35 218 11/14/2021
1.0.29 152 11/4/2021
1.0.26 190 10/17/2021
1.0.23 169 10/3/2021
1.0.21 692 8/8/2021
1.0.20 215 8/7/2021
1.0.19 164 8/7/2021
1.0.18 198 8/7/2021
1.0.17 188 8/6/2021
1.0.13 1,234 6/8/2021
1.0.11 149 6/7/2021
1.0.10 286 5/30/2021
1.0.6 163 5/4/2021
1.0.4-beta 179 5/3/2021
1.0.3-beta 135 5/2/2021
0.7.29 188 4/19/2021
0.7.28 173 4/19/2021
0.7.24 168 4/17/2021
0.7.23 192 4/16/2021
0.7.20 157 4/15/2021
0.7.18 160 4/13/2021
0.7.17 186 4/11/2021
0.7.14 187 4/11/2021
0.7.9 168 3/25/2021
0.7.8 145 3/25/2021
0.7.5 199 3/20/2021
0.7.3 232 1/29/2021
0.7.1 245 1/16/2021
0.6.5 230 1/16/2021
0.6.2 204 1/15/2021
0.6.1 193 1/14/2021
0.5.34 273 1/1/2021
0.5.31 236 12/31/2020
0.5.29 186 12/29/2020
0.5.27 265 12/21/2020
0.5.25 206 12/21/2020
0.5.24 278 12/21/2020
0.5.22 301 12/21/2020
0.5.18 215 12/20/2020
0.5.12 233 12/16/2020
0.5.11 241 12/16/2020
0.5.5 323 12/13/2020
0.5.4 334 12/13/2020
0.5.3 245 12/11/2020