module Command: Commandmodule Spec:sig..end
type t 
val basic : summary:string ->
       ?readme:(unit -> string) ->
       ('main, unit -> unit) Spec.t -> 'main -> tbasic ~summary ?readme spec main is a basic command that executes a function main
    which is passed parameters parsed from the command line according to spec. summary
    is to contain a short one-line description of its behavior.  readme is to contain
    any longer description of its behavior that will go on that commands' help screen.val group : summary:string ->
       ?readme:(unit -> string) -> (string * t) list -> tgroup ~summary subcommand_alist is a compound command with named
    subcommands, as found in subcommand_alist.  summary is to contain
    a short one-line description of the command group.  readme is to
    contain any longer description of its behavior that will go on that
    command's help screen.
    NOTE: subcommand names containing underscores will be rejected.  Use dashes instead.
val run : ?version:string ->
       ?build_info:string ->
       ?argv:string list ->
       ?extend:(string list -> string list) -> t -> unitSys.argv, or argv if it is specified.
    extend can be used to add extra command line arguments to basic subcommands of the
    command.  extend will be passed the (fully expanded) path to a command, and its
    output will be appended to the list of arguments being processed.  For example,
    suppose a program like this is compiled into exe:
        let bar = Command.basic ...
        let foo = Command.group ~summary:... ["bar", bar]
        let main = Command.group ~summary:... ["foo", foo]
        Command.run ~extend:(fun _ -> ["-baz"]) main
      
    Then if a user ran exe f b, extend would be passed ["foo"; "bar"] and "-baz"
    would be appended to the command line for processing by bar.  This can be used to
    add a default flags section to a user config file.
module Deprecated:sig..end
Deprecated should be used only by Core_extended.Deprecated_command.