#babashka CLI explained in one example:

(cli/parse-args ["arg1" "-X" "file1.clj" "-X" "file2.clj" "--myflag" "arg2"] {:coerce {:myflag :boolean :X [:string]}})
;;=>
{:args ["arg1" "arg2"], :opts {:X ["file1.clj" "file2.clj"], :myflag true}}

#clojure

github.com/babashka/cli