sig   module Text :     sig       type flavour = [ `Asciidoc | `Markdown ]       val flavour_of_fpath : Fpath.t -> Topkg_care.Text.flavour option       val head :         ?flavour:Topkg_care.Text.flavour ->         string -> (string * string) option       val header_title : ?flavour:Topkg_care.Text.flavour -> string -> string       val change_log_last_entry :         ?flavour:Topkg_care.Text.flavour ->         string -> (string * (string * string)) option       val change_log_file_last_entry :         Fpath.t ->         (string * (string * string), Bos_setup.R.msg) Bos_setup.result       val split_uri :         ?rel:bool -> string -> (string * string * string) option       val edit_file : Fpath.t -> (int, Bos_setup.R.msg) Bos_setup.result       val find_pager :         don't:bool ->         (Bos_setup.Cmd.t option, Bos_setup.R.msg) Bos_setup.result     end   module Pp :     sig       val name : string Bos_setup.Fmt.t       val version : string Bos_setup.Fmt.t       val commit : string Bos_setup.Fmt.t       val dirty : unit Bos_setup.Fmt.t       val path : Fpath.t Bos_setup.Fmt.t       val status : [ `Fail | `Ok ] Bos_setup.Fmt.t     end   module Opam :     sig       val cmd : Bos_setup.Cmd.t       val ensure_publish : unit -> (unit, Bos_setup.R.msg) Bos_setup.result       val submit :         ?msg:string ->         pkg_dir:Fpath.t -> (unit, Bos_setup.R.msg) Bos_setup.result       val ocaml_base_packages : Bos_setup.String.set       module File :         sig           val field_names : Bos_setup.String.set           val fields :             Fpath.t ->             (string list Bos_setup.String.map, Bos_setup.R.msg)             Bos_setup.result           val deps :             ?opts:bool ->             string list Bos_setup.String.map -> Bos_setup.String.set         end       module Descr :         sig           type t = string * string           val of_string :             string ->             (Topkg_care.Opam.Descr.t, Bos_setup.R.msg) Bos_setup.result           val to_string : Topkg_care.Opam.Descr.t -> string           val of_readme :             ?flavour:Topkg_care.Text.flavour ->             string ->             (Topkg_care.Opam.Descr.t, Bos_setup.R.msg) Bos_setup.result           val of_readme_file :             Fpath.t ->             (Topkg_care.Opam.Descr.t, Bos_setup.R.msg) Bos_setup.result         end       module Url :         sig           val v : uri:string -> checksum:string -> string           val with_distrib_file :             uri:string ->             Fpath.t -> (string, Bos_setup.R.msg) Bos_setup.result         end     end   module OCamlbuild :     sig       val cmd : Bos_setup.Cmd.t       val package_tags :         ?roots:bool ->         Fpath.t -> (Bos_setup.String.set, Bos_setup.R.msg) Bos_setup.result     end   module OCamlfind :     sig       val cmd : Bos_setup.Cmd.t       val base_packages : Bos_setup.String.set     end   module Archive :     sig       val tar :         Fpath.t ->         exclude_paths:Fpath.set ->         root:Fpath.t ->         mtime:int -> (string, Bos_setup.R.msg) Bos_setup.result       val ensure_bzip2 : unit -> (unit, Bos_setup.R.msg) Bos_setup.result       val bzip2 :         string -> dst:Fpath.t -> (unit, Bos_setup.R.msg) Bos_setup.result       val ensure_tar : unit -> (unit, Bos_setup.R.msg) Bos_setup.result       val untbz :         ?clean:bool -> Fpath.t -> (Fpath.t, Bos_setup.R.msg) Bos_setup.result     end   module Pkg :     sig       type t       val v :         ?name:string ->         ?version:string ->         ?delegate:Bos_setup.Cmd.t ->         ?build_dir:Fpath.t ->         ?opam:Fpath.t ->         ?opam_descr:Fpath.t ->         ?readme:Fpath.t ->         ?change_log:Fpath.t ->         ?license:Fpath.t ->         ?distrib_uri:string ->         ?distrib_file:Fpath.t ->         ?publish_msg:string ->         ?publish_artefacts:[ `Alt of string | `Distrib | `Doc ] list ->         Fpath.t -> Topkg_care.Pkg.t       val pkg_file : Topkg_care.Pkg.t -> Fpath.t       val name :         Topkg_care.Pkg.t -> (string, Bos_setup.R.msg) Bos_setup.result       val version :         Topkg_care.Pkg.t -> (string, Bos_setup.R.msg) Bos_setup.result       val delegate :         Topkg_care.Pkg.t ->         (Bos_setup.Cmd.t, Bos_setup.R.msg) Bos_setup.result       val build_dir :         Topkg_care.Pkg.t -> (Fpath.t, Bos_setup.R.msg) Bos_setup.result       val opam :         Topkg_care.Pkg.t -> (Fpath.t, Bos_setup.R.msg) Bos_setup.result       val opam_descr :         Topkg_care.Pkg.t ->         (Topkg_care.Opam.Descr.t, Bos_setup.R.msg) Bos_setup.result       val opam_field :         Topkg_care.Pkg.t ->         string -> (string list option, Bos_setup.R.msg) Bos_setup.result       val opam_fields :         Topkg_care.Pkg.t ->         (string list Bos_setup.String.map, Bos_setup.R.msg) Bos_setup.result       val readmes :         Topkg_care.Pkg.t -> (Fpath.t list, Bos_setup.R.msg) Bos_setup.result       val readme :         Topkg_care.Pkg.t -> (Fpath.t, Bos_setup.R.msg) Bos_setup.result       val change_logs :         Topkg_care.Pkg.t -> (Fpath.t list, Bos_setup.R.msg) Bos_setup.result       val change_log :         Topkg_care.Pkg.t -> (Fpath.t, Bos_setup.R.msg) Bos_setup.result       val licenses :         Topkg_care.Pkg.t -> (Fpath.t list, Bos_setup.R.msg) Bos_setup.result       val distrib_uri :         ?raw:bool ->         Topkg_care.Pkg.t -> (string, Bos_setup.R.msg) Bos_setup.result       val distrib_file :         Topkg_care.Pkg.t -> (Fpath.t, Bos_setup.R.msg) Bos_setup.result       val publish_msg :         Topkg_care.Pkg.t -> (string, Bos_setup.R.msg) Bos_setup.result       val test :         Topkg_care.Pkg.t ->         dir:Fpath.t ->         args:Bos_setup.Cmd.t ->         out:(Bos_setup.OS.Cmd.run_out ->              ('a, Bos_setup.R.msg) Bos_setup.result) ->         ('a, Bos_setup.R.msg) Bos_setup.result       val build :         Topkg_care.Pkg.t ->         dir:Fpath.t ->         args:Bos_setup.Cmd.t ->         out:(Bos_setup.OS.Cmd.run_out ->              ('a, Bos_setup.R.msg) Bos_setup.result) ->         ('a, Bos_setup.R.msg) Bos_setup.result       val clean :         Topkg_care.Pkg.t ->         dir:Fpath.t ->         args:Bos_setup.Cmd.t ->         out:(Bos_setup.OS.Cmd.run_out ->              ('a, Bos_setup.R.msg) Bos_setup.result) ->         ('a, Bos_setup.R.msg) Bos_setup.result       val distrib_archive :         Topkg_care.Pkg.t ->         keep_dir:bool -> (Fpath.t, Bos_setup.R.msg) Bos_setup.result       val distrib_filename :         ?opam:bool ->         Topkg_care.Pkg.t -> (Fpath.t, Bos_setup.R.msg) Bos_setup.result       val publish_artefacts :         Topkg_care.Pkg.t ->         ([ `Alt of string | `Distrib | `Doc ] list, Bos_setup.R.msg)         Bos_setup.result       type lint = [ `Custom | `Deps | `Meta | `Opam | `Std_files ]       val lint_all : Topkg_care.Pkg.lint list       val lint :         ?ignore_pkg:bool ->         Topkg_care.Pkg.t ->         dir:Fpath.t ->         Topkg_care.Pkg.lint list -> (int, Bos_setup.R.msg) Bos_setup.result     end   module Delegate :     sig       val publish_distrib :         Topkg_care.Pkg.t ->         msg:string ->         archive:Fpath.t -> (unit, Bos_setup.R.msg) Result.result       val publish_doc :         Topkg_care.Pkg.t ->         msg:string -> docdir:Fpath.t -> (unit, Bos_setup.R.msg) Result.result       val publish_alt :         Topkg_care.Pkg.t ->         kind:string ->         msg:string ->         archive:Fpath.t -> (unit, Bos_setup.R.msg) Result.result       val publish_in_git_branch :         remote:string ->         branch:string ->         name:string ->         version:string ->         docdir:Fpath.t ->         dir:Fpath.t -> (unit, Bos_setup.R.msg) Bos_setup.result       val issue_list :         Topkg_care.Pkg.t -> (unit, Bos_setup.R.msg) Bos_setup.result       val issue_show :         Topkg_care.Pkg.t ->         id:string -> (unit, Bos_setup.R.msg) Bos_setup.result       val issue_open :         Topkg_care.Pkg.t ->         title:string ->         body:string -> (unit, Bos_setup.R.msg) Bos_setup.result       val issue_close :         Topkg_care.Pkg.t ->         id:string -> msg:string -> (unit, Bos_setup.R.msg) Bos_setup.result     end end