Skip to content
Cam Saul edited this page Jan 12, 2019 · 319 revisions

If you’ve created a plugin for Leiningen, please add it here!

Please note that inclusion on this list does not constitute endorsement by the Leiningen maintainers.

Development Tools

  • lein-v A leiningen plugin for integrating project versions more tightly with git. Never edit project.clj again to update a version. See the blog post.
  • lein-cljfmt A tool for formatting Clojure code
  • lein-kibit static code analysis to find more idiomatic ways to write your Clojure code.
  • lein-eastwood A Clojure linting tool that inspects Clojure code and reports possible problems.
  • lein-bikeshed Notify you if your code is bad
  • lein-check-namespace-decls Linter that checks whether your ns forms are sorted and don't include unused namespaces
  • lein-docstring-checker Linter that checks that all public vars have docstrings
  • lein-ancient Check your projects and plugins for outdated dependencies.
  • ultra A Leiningen plugin for a superior development environment
  • lein-try Try out libraries without creating a dummy project/dependency.
  • configleaf Build profiles and access to project.clj at runtime. (see also 'slothcfg', an updated fork)
  • datomic-schema-grapher A library and lein plugin for graphing datomic schemas
  • hiccup-bridge Hiccup to html, html to hiccup
  • lein-4clj An unofficial companion to 4clojure, a Clojure kata site.
  • lein-amp Leiningen plugin for generating Alfresco Module Package (AMP) files.
  • lein-annotations Displays comment annotations in your project.
  • lein-aot-filter Filtering of AOT compiled class files
  • lein-auto Automatically perform a task when source files change
  • lein-autoreload Reload your source in the background while running the repl.
  • lein-bootclasspath-deps Adding dependency to JVM bootclasspath
  • lein-capsule Capsule plugin for Leiningen
  • lein-cascade Execute cascading task dependencies
  • lein-checkall lein check && lein kibit && lein eastwood && lein bikeshed
  • lein-checkouts Build all dependency "checkouts" projects before the current project is build
  • lein-chromebuild Create chrome extensions from clojurescript
  • lein-clean-m2 Remove all artifacts from local repo not used by current project
  • lein-codeindex Index code and all project dependencies using etags, ctags or gtags
  • lein-collisions Find conflicting files on the classpath
  • lein-cooper Foreman style plugin for Leiningen for running long running dev tasks in parallel.
  • lein-cprint Like lein-pprint, but with color.
  • lein-create-template Create Leiningen templates from existing skeleton projects
  • lein-depgraph Generate a namespace dependency graph as an svg file
  • lein-dependency-check A Leiningen plugin for detecting vulnerable project dependencies
  • lein-exec Execute Clojure scripts in a project
  • lein-expand-resource-paths Expand glob patterns in :resource-paths to work alongside alternative dependency managers
  • lein-extend-cp Adds paths to the classpath
  • lein-externs Generate externs for your ClojureScript project
  • lein-cljs-externs Generate externs for your Clojurescript project, specified via metadata
  • lein-figwheel Pushes ClojureScript code changes to the client as you code
  • lein-file-replace Replace text in files with other text, possibly from a project map
  • lein-filegen Generate files from data and a template
  • lein-fore-prob Import problems from 4clojure
  • lein-git-deps Pull dependencies via git
  • lein-git-version Middleware DRYs up versions by substituting version info found in git tags into project map.
  • lein-githooks Manage git hooks in project.clj.
  • lein-gitify Create and initialize Github/git in your new Leiningen projects.
  • lein-grep Improved repository searching built off the search subcommand.
  • lein-hadoop-cluster Run Leiningen tasks with the configuration necessary to access a live Hadoop cluster.
  • lein-hiera Generate namespace dependency graphs from Leiningen projects.
  • lein-idefiles Generate IDE files (Eclipse, IDEA) for Leiningen projects
  • lein-inject Inject vars into convenience namespaces for the REPL.
  • lein-instant-cheatsheet Generate a cheatsheet for your project and dependencies
  • lein-javac-resources Copy resources from :java-source-paths to compile path (hooks into lein javac)
  • lein-jdk-tools Add tools.jar to the classpath
  • lein-jshint static code analysis for JS, based on JSHint
  • lein-jslint static code analysis for JS, based on JSLint
  • lein-libdir Copy dependencies to a 'lib' folder in your project
  • lein-localrepo Work with the local Maven repository
  • lein-maven Support for maven projects in checkouts
  • lein-modules An alternative to Maven multi-module projects
  • lein-mvn Interop plugin that runs arbitrary mvn commands in an embedded Maven instance
  • lein-nevam Convert Maven pom.xml files to project.clj files
  • lein-nodecljs Support for Clojurescript on NodeJS platform
  • lein-nomis-ns-graph Shows namespace dependencies as a graph, and also shows the namespace hierarchy
  • lein-notes See inline notes from sources
  • lein-ns-dep-graph Show namespace dependencies of Clojure project sources as a graph
  • lein-nsorg Keep ns declarations lexicographically sorted
  • lein-oneoff Simplify working with one-off, single-file clojure programs
  • lein-open Open any dependency or installed jar in an editor.
  • lein-oramvn A leiningen plugin that enables retrieving dependencies from the Oracle Maven Repository
  • lein-parent Inherit properties from a parent project
  • lein-pdo Run lein tasks concurrently in parallel
  • lein-plz Add dependencies to projects quickly
  • lein-project-edn Emit project details as EDN
  • lein-re-frisk Web server for the remote debugging re-frame applications (react native, electron, web) using re-frisk-remote library
  • lein-resource Copy files and transform using stencil
  • lein-shell Run sub-processes from within Leiningen.
  • lein-sub Execute tasks on sub-projects
  • lein-sync Synchronize the shared codebase between leiningen projects
  • lein-tarsier Add a VimClojure server to your project
  • lein-teamcity Add an on-the-fly stages, artifacts and tests reporting in TeamCity
  • lein-thrush Feed the return value of one task into the input of another
  • lein-ubersource Download the source code for all of the project's (transitive) dependencies.
  • lein-vanity Lines of code statistics for vanity's sake
  • lein-var-file Creates an environment variables file. Works great with environ and useful when running Docker containers.
  • lein-marathon Generate JSON config file for marathon framework from (luminus friendly) config.edn
  • lein-vertx Develop vertx applications in clojure
  • lein-webdav Enables uploading of deployments to webdav repos
  • lein-webrepl A browser based nREPL interface
  • lein-whimrepl Start a REPL session in a Vim-targetable server for use with vim-slime.
  • io.aviso/pretty Enable formatted, colorized, readable exceptions
  • reloadable-app Leiningen template for a new component based app implementing the reloaded workflow.
  • slothcfg Build profiles and access to project.clj at runtime. Updated fork of 'configleaf'.
  • varspotting Count public Vars meeting certain criteria (holding functions, macros etc.)
  • mranderson Download and use some dependencies as source.
  • gargamel generates pretty (with links etc) changelog based on git commit messages in multiple formats
  • walmartlabs/shared-deps allow sub-modules to more easily share common dependencies
  • lein-repetition-hunter find repetitions in clojure code
  • lein-template-replace substitute templates with given values
  • lein-tools-deps tools.deps support for leiningen.

Compilers

Testing

Deployment

  • jar-copier A Leiningen plugin to copy a jar from your dependencies into your resources.
  • lein-assemble A maven-assembly like plugin for leiningen
  • lein-aws A leiningen plugin to interact with Amazon Web Services
  • lein-beanstalk Deploy to AWS Elastic Beanstalk
  • lein-bin Generate cross-platform standalone executables of your project
  • lein-binplus (Enhanced version of lein-bin) - Generate cross-platform standalone executables of your project
  • lein-cloudbees Deploy clojure apps to cloudbees
  • lein-clj-lambda Deploy (JVM) AWS Lambda functions
  • lein-lambda An opinionated Leiningen plugin to automate AWS Lambda deployments, and a template to create projects that use it.
  • lein-cljs-lambda Template, plugin & library for deploying Clojurescript functions to AWS Lambda.
  • lein-daemon Run app as a daemon
  • lein-deploy-deps Deploy project dependencies to a remote repository
  • lein-dist Create a standalone tarball of your project source and dependencies
  • lein-docker Build and push Docker images
  • lein-emr Create jobflows on Amazon Elastic MapReduce.
  • lein-fpm Build packages for multiple platforms (rpm, deb, etc.) using fpm
  • lein-heroku The official Heroku Leiningen plugin. Deploy locally built artifacts to Heroku.
  • lein-heroku-deploy Simplify your Heroku deploy
  • lein-immutant Manage and deploy applications to an Immutant server
  • lein-init-script Generate **NIX daemon scripts for your project
  • lein-jelastic Deploy to Jelastic
  • lein-launch4j Wrap your project into a Windows .exe from any platform.
  • lein-native-image Generate GraalVM native images
  • lein-otf Create non-AOT uberjars
  • lein-package Allows for the packaging, installing, and deploying of artifacts besides jars, or multiple artifact projects.
  • lein-ping Leiningen plugin that pings websites/urls.
  • lein-release Bumps your version number and deploys
  • lein-release-4digit-version Leiningen plugin that enhances lein release and lein change with 4 digit version numbering schemes.
  • lein-runit Integration with runit, a UNIX init scheme with service supervision
  • lein-runproject Run any project's -main function directly from the repository
  • lein-s3-static-deploy Deploy a local directory as a static website on s3
  • lein-s3-wagon-vault Pull AWS credentials for s3-wagon-private from Hashicorp Vault
  • lein-set-version Sets the version number in your project.clj
  • lein-sha-version Middleware to set the project version based on git SHA
  • lein-sitemap Plugin for resubmitting sitemaps to Google Webmaster Tools.
  • lein-tar Create a tarball of your project and its dependencies, formerly lein-release
  • lein-uberimage Create a docker image with your project's uberjar
  • lein-version-spec Set the version number of your project according to rules
  • lein-wagon-ssh-external Use the apache wagon-ssh-external provider
  • lein-worker Upload worker jars to IronWorker
  • record-deps Save and optionally check the dependency tree in a resource file

Web

  • garden-watch Watches for changes in your Garden (edn (CSS)) source files.
  • hiccup-watch Watches for changes in your Hiccup (edn (HTML)) source files.
  • lein-bower Bower web lib dependency management
  • lein-gaeshi Google App Engine webs apps using Joodo.
  • lein-gwt-plugin Runs and compiles GWT applications
  • lein-httpd Start a web server in the current directory.
  • lein-joodo Simple web app library. Tasks to create, test, generate, your code.
  • lein-karma Runs JavaScript tests with Karma
  • lein-misaki Helps you building web sites using the Misaki static site generator
  • lein-protractor Runs AngularJS e2e tests with Protractor
  • lein-ring Work with web applications using Ring
  • lein-s3-static-deploy Deploy a local directory as a static website on s3
  • lein-servlet Work with servlet-based webapps
  • lein-simpleton Serve files via http out of a local directory.
  • moarweba Get up and running with a RESTful web-server in one minute.
  • touchme Touch files when html (by example) files are modified. Can be used to update enlive templates.
  • lein-sitecompiler The plugin allows generating a static website. Supports many template engines such as Mustache, Hiccup, Cuma, Fleet, Markdown.

Databases

  • clj-dynamodb-local Download and run an instance of DynamoDB Local
  • clj-sql-up A simple plugin for running SQL database migrations
  • datomic-schema-grapher A library and lein plugin for graphing datomic schemas
  • drift Create and run Rails like database migrations in Clojure
  • lein-dbmaintain DbMaintain integration for Leiningen
  • lein-embongo Create a managed/embedded instance of MongoDB during a lein build (e.g. for integration testing).
  • lein-flyway - Flyway Migration Tool ported to Leiningen
  • lein-h2 - Start a TCP mode H2 database server as part of your lein build.
  • lein-ldapimem - Create an embedded instance of unboundID's LDAP service (e.g. for testing)
  • lein-memcached - Create an embedded instance of memcached (useful for testing)
  • lein-postgres Create an embedded instance of postgres for testing and development.
  • lein-tern - DB migrations as Clojure data.
  • zookem Create a embedded instance of Zookeeper during a lein build (e.g. for integration testing)

Documentation

  • cloc Generate API docs for your project and dependencies and serve them through a local web server, with a fast Lucene full-text search.
  • codox A tool for generating API documentation from Clojure source code. (html)
  • lein-asciidoctor Generate documentation using Asciidoctor
  • lein-clique Generate a graph of dependencies between the functions in your project
  • lein-html5-docs Generate HTML5 API docs
  • lein-javadoc Automatically run javadoc on the java sources in your project
  • lein-licenses List licenses of all dependencies
  • lein-margauto Watches your source directories for changes to your clojure source files and rebuilds the Marginalia documentation whenever you update your source code
  • lein-marginalia Generate Marginalia documentation
  • lein-mustache Evaluate Mustache templates with Clojure data files (e.g. for creating templatized documentation)
  • lein-plantuml Generate UML diagrams using PlantUML
  • lein-precate Transform project.clj into Leiningen 2.x-compatible form.
  • lein-sphinx Generate documentation from reStructuredText using Sphinx.
  • lein-viz Visualize graph and tree data
  • nephila Show a graph of your Clojure namespaces
  • gargamel generates pretty (with links etc) changelog based on git commit messages in multiple formats

Deprecated

Merged into Leiningen

  • lein-javac For compiling Java source (1.4+)
  • lein-multi Run tasks against multiple dependency sets (such as multiple Clojure versions) at once (2.0+)
  • lein-newnew Next-generation lein new supporting custom project skeletons (2.0+)
  • lein-plugin Manage plugins (1.4+)
  • lein-retest Run only the test namespaces which failed last time around (1.6+)
  • lein-run Call -main functions from the command-line (1.4+)
  • lein-search Search remote repositories for artifacts (1.6+)
Clone this wiki locally