/polylith

A tool used to develop Polylith based architectures in Clojure.

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

An open source tool used to develop Polylith based architectures in Clojure.


Welcome to the wonderful world of Polylith!

This tool is made by developers for developers with the goal to maximise productivity and increase the quality of the systems we write. It supports your build pipeline, but is not a build tool itself.

The Polylith concept can be implemented in any programming language, but this version of the Polylith tool targets Clojure which is a powerful and simple functional language for the JVM.

Polylith introduces the architectural concept of “service level building blocks”, which can be combined like LEGO bricks to build our services and systems. Polylith’s LEGO-like bricks are easy to reason about, test, refactor, and reuse. They allow us to work with all our code in one place for maximum productivity, using a single REPL

The bricks can easily be put together to form different kinds of deployable artifacts, like services, tools and libraries, in the same way we put together LEGO when we were kids! Not surprisingly, it's just as simple and fun!

To give you an idea of what that can look like, take a quick look at the bricks and libraries that we use to build the Polylith tool (which is itself a Polylith workspace, represented by the poly column in the first diagram):

To better understand the principles and ideas behind this tool, we recommend you first read the...


...high-level documentation.


...before you continue with the...


...poly tool documentation!


Enjoy the ride!

Contact

Feel free to contact me:
  Twitter: @jtengstrand
  Email: info[at]polyfy[dot]se

You can also get in touch with us on Slack.

License

Distributed under the Eclipse Public License 1.0, the same as Clojure.