anchor.diff:  :toc: left
   :numbered:
   :toclevels: 2
  -:toc-title: Features
  +:toc-title: Table of contents
   :source-highlighter: coderay
   //:source-highlighter: highlightjs
   //:highlightjs-theme: darkula
  
positive.code: }
  ----
  
  Implement `Runnable` or `Callable` ➊, and your command can be <<Executing Commands,executed>> in one line of code.
  The example above uses the `CommandLine.execute` method ➋
  to parse the command line, handle errors, handle requests for usage and version help, and invoke the business logic.
  Applications can call `System.exit` ➌ with the returned exit code to signal success or failure to their caller.
  
  The <<Mixin Standard Help Options,mixinStandardHelpOptions>> attribute ➍ adds `--help` and `--version` options to your application.
  
  
  == Getting Started
  You can add picocli as an external dependency to your project, or you can include it as source.
  
  === Add as External Dependency
  
negative.code: The user manual for the latest release is at http://picocli.info.
  For the busy and impatient: there is also a link:quick-guide.html[Quick Guide].
  
  == Introducing Picocli
  Picocli is a one-file framework for creating Java command line applications with almost zero code.
  Picocli aims to be the easiest way to create rich command line applications that can run on and off the JVM.
  
  === Features
  Picocli supports a variety of command line syntax styles including POSIX, GNU, MS-DOS and more and generates highly customizable usage help messages with <<ANSI Colors and Styles,ANSI colors and styles>>.
  Picocli-based applications can have link:autocomplete.html[command line TAB completion] showing available options, option parameters and subcommands, for any level of nested subcommands.
  Picocli-based applications can be ahead-of-time compiled to a image:https://www.graalvm.org/resources/img/logo-colored.svg[GraalVM]
  <<GraalVM Native Image,native image>>, with extremely fast startup time and lower memory requirements, which can be distributed as a single executable file.
  
  Picocli <<Generate Man Page Documentation,generates beautiful documentation>> for your application (HTML, PDF and Unix man pages).
  
  Another distinguishing feature of picocli is how it aims
  to let users run picocli-based applications without requiring picocli as an external dependency:
  all the source code lives in a single file, to encourage application authors to include it _in source form_.
  
  === Sample application
  Let's get started by looking at minimal picocli-based command line application. This fully working sample app may be used to calculate the checksum(s) of one or more file(s) given as command line parameter(s):
  
  .Synopsis of sample application
  image:checksum-usage-help.png[Screenshot of usage help with Ansi codes enabled]
  
  .Source code of sample application
  [[CheckSum-application]]
  [source,java]
  ----
  