command-line-api
Command line parsing, invocation, and rendering of terminal output.
This repository holds the code for System.CommandLine, a set of official Microsoft libraries for building command-line applications in .NET. A command-line application is one that runs in a terminal and accepts options and arguments typed by the user, like most developer tools do.
System.CommandLine handles the parts that would otherwise require a lot of repetitive code: parsing the text the user typed into structured data, binding those values to variables or objects in your program, validating that required arguments were provided, and generating help text automatically. It also includes tab-completion support through a companion tool called dotnet-suggest, which integrates with common shells so users can press Tab to see available options while typing a command.
Both packages are distributed through NuGet, which is the standard package registry for .NET projects. The library is an official .NET Foundation project maintained by Microsoft, documented on Microsoft Learn, and licensed under the MIT open-source license. Daily build packages are also published for developers who want to test the latest unreleased changes.