/command-line-api

Command line parsing, invocation, and rendering of terminal output.

Primary LanguageC#MIT LicenseMIT

Build Status Join the chat at https://gitter.im/dotnet/command-line-api

This repository contains the code for the System.CommandLine libraries and the dotnet-suggest global tool.

Packages

Package Version Description
System.CommandLine Nuget Command line parser, model binding, invocation, shell completions
System.CommandLine.DragonFruit Nuget Build command-line apps by convention with a strongly-typed Main method
System.CommandLine.Rendering Nuget Structured terminal output rendering and ANSI support
System.CommandLine.Hosting Nuget support for using System.CommandLine with Microsoft.Extensions.Hosting
dotnet-suggest Nuget 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

Syntax Concepts and Parser

Features

Your first app

How to...

Interactive tutorials

You can try out System.CommandLine using an interactive tutorial that showcases its features and APIs, powered by Try .NET.

binding

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.