| name | zargs |
| description | Add zero-dependency argument parsing to Java CLI applications using the zargs pattern — an enum-based argument parser. Use when adding CLI argument parsing, command-line option handling, or adding options to a Java project. Triggers on "zargs", "argument parsing", "CLI arguments", "command-line options", "parse arguments", "add options", or requests to add argument/option parsing to a Java CLI application without external dependencies. |
Add zero-dependency argument parsing to a Java CLI application using $ARGUMENTS. Apply all rules below.
What is zargs
zargs is a zero-dependency, enum-based argument parsing pattern for Java CLI applications. It is not a library or dependency — it is a set of conventions and code patterns to apply directly when generating argument parsing code.
Argument Enum Pattern
Define an enum where each constant represents a CLI option. The enum provides matching, lookup, and usage generation:
import java.util.stream.Collectors;
import java.util.stream.Stream;
public enum Arg {
HELP("-help", "Show this help"),
VERBOSE("-verbose", "Enable verbose output"),
OUTPUT("-output", "Specify output file");
final String option;
final String description;
Arg(String option, String description) {
this.option = option;
.description = description;
}
{
.option.equals(value)
|| value.startsWith(.option + );
}
Arg {
Stream.of(values())
.filter(a -> a.matches(value))
.findFirst()
.orElse();
}
String {
Stream.of(values())
.map(a -> .formatted(a.option, a.description))
.collect(Collectors.joining());
}
}