   package-systems
   {"apt" {:genrepo apt-pkg/slurp-apt-repo
           :version-comparison "debian"}
-   "git" {:constructor git-pkg/make-slurper
-          :version-comparison "semver"}
+   "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" {:constructor subproc-pkg/make-slurper
+   "subproc" {:repo-constructor subproc-pkg/make-slurper
               :required-arguments {:subproc-exe ["-x" "--subproc-exe"]}}})
 
 (defn command-list [commands]

                          (and (.exists ^java.io.File f)
                               (.canExecute ^java.io.File f)))
                       "Must be an executable file which exists on the file system."]]
           ]}
    "query-repo"
    {:description "Query repository for a particular package"

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