Skip to content

Clojure Tools

You should be familiar with the official documenatation of Clojure Tools . The purpose of BigConfig is to incrase developer productivity by automation. Therefore the creation of projects to create configuration files is also automated.

Terminal window
# Clojure Tools manual
clojure -A:deps -Ttools help/doc

The predefined templates are a starting point but eventually you should define the templates that make sense for your environment.

  1. Create a clojure repo or use an existing project. Adapt :path, :ns, and :name to your project.

    Terminal window
    # Create your initial version of `tools.clj`
    cd clj-proj
    clojure -Tbig-config tools :path src :ns mybc :name tools.clj
  2. Any deps.edn project can become a tool. Add this key at the root level and adapt :ns-default.

    :tools/usage {:ns-default big-config.tools}
  3. Use Neil to add BigConfig as dependency to your project.

    Terminal window
    neil add dep io.github.amiorin/big-config
  4. Now you are ready to install your repo as a tool in development mode or from GitHub if you are on a different machine.

    Terminal window
    # Install the tool as mybc in development mode
    clojure -Ttools install io.github.USER/REPO '{:local/root "."}' :as mybc
  5. Now you can create as many templates you want. You can check the the default templates .

    Terminal window
    # Use template foo
    clojure -Tmybc foo

BigConfig doesn’t have a CLI on purpose but it leverages Clojure Tools to delegate the developer to create the perfect CLI for his environment.