Skip to content

Instantly share code, notes, and snippets.

@wdhowe
Last active December 11, 2025 14:15
Show Gist options
  • Select an option

  • Save wdhowe/99a4f463f96730002f4c20a058806dda to your computer and use it in GitHub Desktop.

Select an option

Save wdhowe/99a4f463f96730002f4c20a058806dda to your computer and use it in GitHub Desktop.
Creating Clojure projects with deps.edn

Clojure CLI/deps Projects

Clojure CLI tools (with deps.edn) allow for a built in way to create projects.

Official CLI/deps guide: https://clojure.org/guides/deps_and_cli

Clojure Tools + Deps New

  • Upgrade tools.tools to the latest

    clojure -Ttools install-latest :lib io.github.clojure/tools.tools :as tools
  • Install a project creation Tool.

    clojure -Ttools install-latest :lib io.github.seancorfield/deps-new :as new

More deps-new info: https://github.com/seancorfield/deps-new

  • Create a project directory structure

    clj -Tnew app :name mygituser/myappname
  • Run tests or build.

    clj -T:build test  # Test only.
    
    clj -T:build ci    # Test, write pom, build uberjar.
  • Run the app's '-main' function.

    clj -M:run-m

Other Tools

Additional useful tools.

Find outdated deps in your project

clojure -Ttools install-latest :lib com.github.liquidz/antq :as antq

Usage

# Show outdated
clojure -Tantq outdated

# Upgrade outdated
clojure -Tantq outdated :upgrade true

Clojure Docs analyzer

clojure -Ttools install-latest :lib io.github.cljdoc/cljdoc-analyzer :as cljdoc

Usage

# Analyze local checked out deps based project
clojure -Tcljdoc analyze-local

Neil

  • Optional project tool for common commands

    brew install babashka/brew/neil

More neil info: https://github.com/babashka/neil

  • New project alternative

    neil new app --name mygituser/myappname
  • More neil commands

    neil help
@goosecoid
Copy link

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment