This repository contains the code for the System.CommandLine libraries and the dotnet-suggest global tool. For more information, see our wiki.
| Package | Version | Description |
|---|---|---|
System.CommandLine |
Command line parser, model binding, invocation, shell completions | |
System.CommandLine.DragonFruit |
Build command-line apps by convention with a strongly-typed Main method |
|
System.CommandLine.Rendering |
Structured terminal output rendering and ANSI support | |
System.CommandLine.Hosting |
support for using System.CommandLine with Microsoft.Extensions.Hosting | |
dotnet-suggest |
A command-line tool to provide shell completions for apps built using System.CommandLine. |
Daily builds are available if you add this feed to your nuget.config: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json.
- Suggestions (tab completion)
- Help
- Version option
- Parse preview
- Debugging
- Response files
- Termination handling
- Add a subcommand (or verb)
- Add an alias to an option or command
- Call a method
- Pass parameters to a method
- Argument validation and binding
- Middleware Pipeline
You can try out System.CommandLine using an interactive tutorial that showcases its features and APIs, powered by Try .NET.
To use the tutorial, first clone the command-line-api repository:
> git clone https://github.com/dotnet/command-line-apiNext, install the dotnet try global tool:
> dotnet tool install -g Microsoft.dotnet-tryFinally, launch the dotnet try pointing to the tutorial directory inside the cloned repository:
> dotnet try <PATH_TO_COMMAND_LINE_API_REPO>/docsThis project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct
See the Contributing guide for developer documentation.
This project is licensed under the MIT license.
.NET is a .NET Foundation project.