Leiningen is a build tool, dependency manager, and project automator for Clojure. It provides a command-line interface for bootstrapping new project structures, managing external libraries, and launching interactive read-eval-print loops for live development.
The tool allows for the extension of build commands through a plugin system and manages project settings using a configuration map that can be layered with global user preferences and specific profiles.
Its capabilities cover the full project lifecycle, including automated test execution, the creation of standalone executable archives, and the publishing of libraries to remote repositories. It ensures stability by launching application code in a separate process to avoid dependency conflicts with the build tool itself.