dotnet/command-line-api — explained in plain English
Analysis updated 2026-07-03
Build a .NET command-line tool that accepts typed options and arguments without writing any argument-parsing code by hand.
Add automatic --help output and tab-completion to an existing .NET CLI application using dotnet-suggest.
Validate required command-line arguments and display user-friendly error messages when they are missing or invalid.
| dotnet/command-line-api | communitytoolkit/dotnet | oskardudycz/eventsourcing.netcore | |
|---|---|---|---|
| Stars | 3,662 | 3,671 | 3,672 |
| Language | C# | C# | C# |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 2/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Install via NuGet, requires a .NET SDK already on your machine.
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.
Microsoft's official .NET library for building command-line tools that automatically parses arguments, validates input, generates help text, and adds tab-completion to any terminal application.
Mainly C#. The stack also includes C#, .NET, NuGet.
Use freely in any personal or commercial project, MIT license only requires keeping the copyright notice.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.