{"repo":"dotmake-build/command-line","free":true,"listed":false,"github":"https://github.com/dotmake-build/command-line","clone":"git clone https://github.com/dotmake-build/command-line.git","description":"Declarative syntax for System.CommandLine via attributes for easy, fast, strongly-typed (no reflection) usage. Includes a source generator which automagically converts your classes to CLI commands and properties to CLI options or CLI arguments.","language":"C#","stars":167,"topics":["cli","command-line","commandlineparser","console","csharp","dotnet","source-generator","system-commandline","dotmake","dotnet-core"],"license":"MIT","category":"cli-tools","readme_excerpt":"DotMake Command-Line System.CommandLine is a very good parser but you need a lot of boilerplate code to get going and the API is hard to discover. This becomes complicated to newcomers and also you would have a lot of ugly code in your Program.cs to maintain. What if you had an easy class-based layer combined with a good parser? DotMake.CommandLine is a library which provides declarative syntax for System.CommandLine via attributes for easy, fast, strongly-typed (no reflection) usage. The library includes a source generator which automagically converts your classes to CLI commands and properties to CLI options or CLI arguments. Supports trimming, AOT compilation and dependency injection! Getting started Install the library to your console app project with NuGet. In your project directory, via dotnet cli: or in Visual Studio Package Manager Console: Prerequisites - .NET 8.0 and later project or .NET Standard 2.0 and later project. Note that .NET Framework 4.7.2+ or .NET Core 2.0 to .NET 7.0 projects can reference our netstandard2.0 target (automatic in nuget). If your target framework is below net5.0, you also need 9.0 tag (minimum) in your .csproj file. - Visual Studio 2022 v17.3+ or .NET SDK 6.0.407+ (when building via dotnet cli). Our incremental source generator requires performance features added first in these versions. - Usually a console app project but you can also use a class library project which will be consumed later. Usage DotMake.CommandLine offers 2 models: cla","default_branch":null,"files":null,"tree":[],"storefront":"/r/dotmake-build","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dotmake-build/command-line/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}