Skip to content

Nick-Lucas/EntryPoint

Repository files navigation

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

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...
    }
}