sig
  module Cli :
    sig
      module Arg :
        sig
          val path : B0_std.Fpath.t Cmdliner.Arg.conv
          val cmd : B0_std.Cmd.t Cmdliner.Arg.conv
        end
      module B0_std :
        sig
          val color :
            ?docs:string ->
            ?env:Cmdliner.Arg.env ->
            unit -> B0_std.Tty.cap option Cmdliner.Term.t
          val verbosity :
            ?docs:string ->
            ?env:Cmdliner.Arg.env -> unit -> B0_std.Log.level Cmdliner.Term.t
          val setup :
            ?docs:string ->
            ?log_spawns:B0_std.Log.level ->
            ?color_env:Cmdliner.Arg.env ->
            ?verbosity_env:Cmdliner.Arg.env -> unit -> unit Cmdliner.Term.t
        end
    end
  module Memo :
    sig
      val jobs :
        ?docs:string ->
        ?env:Cmdliner.Arg.env -> unit -> int option Cmdliner.Term.t
      val max_spawn : jobs:int option -> unit -> int
      val log_feedback :
        show_spawn_ui:B0_std.Log.level ->
        show_success:B0_std.Log.level ->
        Stdlib.Format.formatter ->
        [ `Exec_submit of B0_std.Os.Cmd.pid option * B00.Op.t
        | `Fiber_exn of exn * Stdlib.Printexc.raw_backtrace
        | `Fiber_fail of string
        | `File_cache_need_copy of B0_std.Fpath.t
        | `Miss_tool of B00.Tool.t * string
        | `Op_cache_error of B00.Op.t * string
        | `Op_complete of
            B00.Op.t * [ `Did_not_write of B0_std.Fpath.t list ] ] ->
        unit
      val pp_stats : B00.Memo.t B0_std.Fmt.t
    end
  module Pager :
    sig
      val envs : Cmdliner.Term.env_info list
      val don't : ?docs:string -> unit -> bool Cmdliner.Term.t
      val find :
        ?search:B0_std.Fpath.t list ->
        don't:bool -> unit -> (B0_std.Cmd.t option, string) Stdlib.result
      val page_stdout : B0_std.Cmd.t option -> (unit, string) Stdlib.result
      val page_files :
        B0_std.Cmd.t option ->
        B0_std.Fpath.t list -> (unit, string) Stdlib.result
    end
  module Editor :
    sig
      val envs : Cmdliner.Term.env_info list
      val find :
        ?search:B0_std.Fpath.t list ->
        unit -> (B0_std.Cmd.t option, string) Stdlib.result
      val edit_files :
        B0_std.Cmd.t option ->
        B0_std.Fpath.t list -> (B0_std.Os.Cmd.status, string) Stdlib.result
    end
  module Browser :
    sig
      val browser : B0_std.Cmd.t option Cmdliner.Term.t
      val prefix : bool Cmdliner.Term.t
      val background : bool Cmdliner.Term.t
      type t
      val find :
        ?search:B0_std.Fpath.t list ->
        browser:B0_std.Cmd.t option ->
        unit -> (B0_ui.Browser.t option, string) Stdlib.result
      val show :
        background:bool ->
        prefix:bool ->
        B0_ui.Browser.t option -> string -> (unit, string) Stdlib.result
    end
end