HowlDev.Cli.TextDTO 0.1.1

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.1
                    
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.1
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=HowlDev.Cli.TextDTO&version=0.1.1
                    
nuke :add-package HowlDev.Cli.TextDTO --version 0.1.1
                    

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.

File structure

The files you pass in from the schemas folder needs to be parsable by the most recent version of the ConfigFileLibrary. Currently, that supports JSON and YAML files.

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",
      "default": "Unknown", // You can assign a default value here (optional param)
      "nullable": true // You can make a property optional (optional param)
    },
    ... // Add as many properties here as needed
  ]
}

The current list of types supported 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

For C#, you can also put items in the same namespace and reference them as type fields. For instance, if you had a class Calculator then you could reference it in a type as follows:

{
  "name": "Id", // These two properties are required
  "type": "int",
  "default": "Unknown", // You can assign a default value here (optional param)
  "nullable": true // You can make a property optional (optional param)
},

Arrays are not yet supported.

Changelog

0.1.0 (1/8/26)

  • Initialized
  • Only primitives are really supported. No type checking happens.
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