                 output-format
                 package-system
                 present-packages
-                repositories
                 requirements
                 resolve-strat
                 search-strat

    "resolve-locations"
    {:description "Print the locations of the packages which will resolve all given dependencies."
     :function resolve-locations!
     :required-arguments {:repositories ["-R" "--repository"]
                          :requirements ["-r" "--requirement"]}
     :cli [
           ["-a" "--enable-alternatives" "Consider all alternatives (default)"
            :assoc-fn (fn [m k v] (assoc m :alternatives true))]

  package-systems
  {"apt" {:genrepo apt-pkg/slurp-apt-repo
          :version-comparison "debian"}
   "git" {:query-contructor git-pkg/make-query
          :version-comparison "semver"
          {:required-arguments {:clone-folder ["-n" "--clone-folder"]}}}
   "degasolv" {:genrepo degasolv-pkg/slurp-degasolv-repo
               :version-comparison "semver"}
   "subproc" {:repo-constructor subproc-pkg/make-slurper
              :required-arguments {:subproc-exe ["-x" "--subproc-exe"]}}})

(defn command-list [commands]
