anchor.diff:  
   == Rethinking the problem
   
  -Clojure has evolved over the years and countless individuals and organizations have contributed to the growing success of its ecosystem. Contributing to that success have been various takes on build systems for Clojure but until now there has not been a build solution packaged with the language. Previously, applications written in Clojure often did not strictly require build artifacts, but the community has adopted the Java host ecosystem’s artifact-focused approach. Instead, we took the approach that by default source-based dependencies would be the baseline model.
  +Clojure has evolved over the years and countless individuals and organizations have contributed to the growing success of its ecosystem. Contributing to that success have been various takes on build systems for Clojure but until now there has not been a build solution packaged with the language. Previously, applications written in Clojure often did not strictly require build artifacts, but the community has adopted the Java host ecosystem’s artifact-focused approach. Instead, we took the approach that by default source-based dependencies would be the baseline model. To facilitate this model, significant work has gone into developing and releasing various capabilities and tools, starting with the release of Clojure 1.9, including the following:
   
  -However, some libraries need some sort of preparation to create the resources needed on the classpath. The preparation needed ranges from compilation of Java or Clojure source to rote text replacement in project resources to other, project-specific tasks. The Clojure build story should facilitate the preparation and detection of the need for such tasks when necessary. For the past year the Clojure core team has worked to create a build story for Clojure that facilitates the needs described above. The effort, released as tools.build, is described herein.
  +- deps.edn and https://github.com/clojure/tools.deps.alpha/[tools.deps] - a structure for declaring dependencies and tools for building classpaths from them
  +- https://github.com/clojure/brew-install[CLI] - a command line Clojure program runner
  +- https://github.com/clojure/tools.gitlibs[tools.gitlibs] - a library for dealing with Git repositories
  +
  +Herein we'll describe the latest effort to supply a "batteries-included" story for Clojure builds called https://github.com/clojure/tools.build[tools.build] and https://clojure.org/reference/deps_and_cli#tool_install[CLI support for tools].
   
   == Improving Source Libs
   
  
positive.code: 
  == Tools
  
  In addition to the support for builds, the Clojure CLI was enhanced with the ability to explore, install, invoke, and introspect tools for the CLI. 
  
  == Getting Started
  
  If you’d like to start using tools.build then the following resources should help you along the path.
  
  **TODO: uninstall + install steps**
  
  ???[tools.build reference]
  ???[tools.build guide]
  
negative.code: 
  == Builds as programs
  
  At its base tools.build uses functions that take a single map containing the key/value mappings of its execution parameters. These “tasks” define a logically coherent portion of a build process.
  
  To learn more about the tasks supplied by tools.build you can https://clojure.org/reference/tools_build[read the tools.build reference].
  
  