JustCli alternatives and similar packages
Based on the "CLI" category.
Alternatively, view JustCli alternatives based on common mentions on social networks and blogs.
-
Command Line Parser
The best C# command line parser that brings standardized *nix getopt style, for .NET. Includes F# support -
Fluent Command Line Parser
A simple, strongly typed .NET C# command line parser library using a fluent easy to use interface -
DotMake Command-Line
Declarative syntax for System.CommandLine via attributes for easy, fast, strongly-typed (no reflection) usage. Includes a source generator which automagically converts your classes to CLI commands and properties to CLI options or CLI arguments. -
NFlags
Simple yet powerfull library to made parsing CLI arguments easy. Library also allow to print usage help "out of box". -
DarkXaHTeP.CommandLine
Allows creating CommandLine applications using Microsoft.Extensions.CommandLineUtils together with DI, Configuration and Logging in a convenient way similar to AspNetCore Hosting -
Tamar.ANSITerm
“ANSITerm” provides ANSI escape codes and true color formatting for .NET Core's Console on Linux terminals.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of JustCli or a related project?
README
JustCli
That’s just a quick way to create your own command line tool.
The idea is to have one command in one class. A set of attributes helps you to map command line arguments to the command class properties and provide additional information. JustCli scans your project, generates help and allows you to run the commands.
Download
You can install it using NuGet.
Example
Let’s create a “sayhello” command. First of all we need a console application with JustCli entry point.
static int Main(string[] args)
{
return CommandLineParser.Default.ParseAndExecuteCommand(args);
}
Create SayHelloCommand class and implement command logic.
[Command("sayhello", "Prints a greeting.")]
class SayHelloCommand : ICommand
{
[CommandArgument("n", "name", Description = "The someone to greet.", DefaultValue = "World")]
public string Name { get; set; }
[CommandOutput]
public IOutput Output { get; set; }
public int Execute()
{
Output.WriteInfo("Hello {0}!", Name);
return ReturnCode.Success;
}
}
CommandOutput attribute marks property where the common output is injected. Colored console is used by default.
When run the command line tool we can see command list.
cmd> TestApp.exe
Command list:
sayhello - Prints a greeting.
Also you can get help for a special command.
cmd> TestApp.exe sayhello ?
sayhello - Prints a greeting.
Options:
-n --name [string] The someone to greet. [default: World]
That is what JustCli makes for you.
Let's test "sayhello" command.
cmd> TestApp.exe sayhello
Hello World!
cmd> TestApp.exe sayhello -n Bob
Hello Bob!
Now you know how to create command line tool quickly and easily! :)