EntryPoint icon indicating copy to clipboard operation
EntryPoint copied to clipboard

Composable CLI Argument Parser for all modern .Net platforms.

Build status NuGet MIT License

EntryPoint

Composable CLI Argument Parser for all modern .Net platforms

Parses arguments in the form UtilityName [command] [-o | --options] [operands]

Supports:

  • .Net Standard 1.6+ (.Net Core and all future .Net releases are built on this)
  • .Net Framework 4.5+

Follows the IEEE Standard closely, but does include common adblibs such as fully named --option style options.

Installation

EntryPoint is available on NuGet:

PM> Install-Package EntryPoint

Pull requests and suggestions are welcome, and some small tasks are already in the Issues.

Documentation

  • Full documentation: https://nick-lucas.github.io/EntryPoint/

  • Example Implementation: https://github.com/Nick-Lucas/EntryPoint/tree/master/test/Example

As simple as...

Parse your application's Command Line Arguments into a declarative POCO, in one line.

Arguments are defined as declarative POCOs using Attributes.

var arguments = Cli.Parse<CliArguments>(args);
if (arguments.Option) {
  // ...
};
public class CliArguments : BaseCliArguments {
    public CliArguments() : base("MyApplication") { }

    [Option(ShortName: 'o',
            LongName: "option-1")]
    public bool Option { get; set; }
}

Commands have a dedicated API:

Cli.Execute<CliCommands>(args);
public class CliCommands : BaseCliCommands {
    [Command("primary")]
    public void Primary(string[] args) {
    	// Arguments Parsing and Command Code...
    }
}