HowlDev.Cli.TextDTO 0.1.0

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

HowlDev.Core

HowlDev.Core.TextDTO

This is a command-line NuGet package that you can install with:

dotnet tool install --global HowlDev.Cli.TextDTO

You can use it by:

textdto ./schemas cs ./api/dtos ts-z ./client/dtos

You can export a given file as a set of DTO's with any of the 3 following tags:

  • cs
    • Exports a C# file with an optional namespace in the format of a class with public get and set properties
  • ts
    • Creates a Type that has the provided properties
      • Ignores the Default property (impossible with type definitions)
      • Nullable means undefined, the default null state for things in JavaScript
  • ts-z
    • Creates a Zod object with the provided properties (you must install Zod yourself)
    • Names are appended with Schema for Zod parsing and Type for the type inference. Both are exported.

Here's the structure:

{
  "name": "IdAndTitleDTO", // Required
  "namespace": "ProjectTracker.Classes", // This is an optional thing for C# classes only (only file-scoped is available)
  "ignoreWarnings": true, // Also optional; uses the language-specific disable of warnings
  "properties": [
    {
      "name": "Id", // These two properties are required
      "type": "int"
    },
    {
      "name": "Sample",
      "type": "string",
      "default": "Unknown" // You can assign a default value here (optional param)
    },
    {
      "name": "ProjectTitle",
      "type": "string",
      "nullable": true // You can make a property optional (optional param)
    }
  ]
}

The current list of types are C# primitives. They are all converted to a TS type when being added to a TS file.

  • string
    • string for JS, TS, Zod, and C#
  • int, uint, byte, long, double, etc.
    • ___ for C#, number for JS, TS, and Zod
  • bool
    • bool for C#, boolean for JS, TS, and Zod
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
0.4.0 126 2/27/2026
0.4.0-beta.1 64 2/27/2026
0.4.0-beta 106 2/20/2026
0.3.5 102 2/17/2026
0.3.4 102 2/17/2026
0.3.3 105 2/17/2026
0.3.2 104 2/17/2026
0.3.1 102 2/17/2026
0.3.0 111 2/17/2026
0.2.1 116 2/6/2026
0.2.0 110 2/4/2026
0.1.2 110 2/3/2026
0.1.1 125 1/8/2026
0.1.0 117 1/8/2026