This repository contains the code for the System.CommandLine libraries and the dotnet-suggest
global tool.
Packages
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.
Documentation
Getting started
Features
- Suggestions (tab completion)
- Help
- Version option
- Parse preview
- Debugging
- Response files
- Termination handling
Your first app
How to...
- 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
Interactive tutorials
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-api
Next, install the dotnet try
global tool:
> dotnet tool install -g Microsoft.dotnet-try
Finally, launch the dotnet try
pointing to the tutorial directory inside the cloned repository:
> dotnet try <PATH_TO_COMMAND_LINE_API_REPO>/docs
Code of Conduct
This 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
Contributing
See the Contributing guide for developer documentation.
License
This project is licensed under the MIT license.
.NET Foundation
.NET is a .NET Foundation project.