polyfy / polylith

A tool used to develop Polylith based architectures in Clojure.
Eclipse Public License 1.0
499 stars 47 forks source link
polylith

image::doc/images/logo.png[width=400] :snapshot-version: 28 :cljdoc-doc-url: https://cljdoc.org/d/polylith/clj-poly/CURRENT/doc

https://cljdoc.org/d/polylith/clj-poly/0.2.19/doc/readme[image:https://badgen.net/badge/doc/0.2.19/blue[]] ifdef::env-cljdoc[] https://cljdoc.org/d/polylith/clj-poly/0.2.20-SNAPSHOT[image:https://badgen.net/badge/doc/0.2.20-SNAPSHOT%20%23{snapshot-version}/cyan[]] endif::[] https://clojurians.slack.com/messages/C013B7MQHJQ[image:https://badgen.net/badge/slack/join chat/green[]]

== Welcome to the wonderful world of Polylith for Clojure!

Polylith is made by developers for developers. Our goal is to maximize productivity and increase the quality of the systems we create. Although Polylith is not a build tool, it integrates into your build pipeline.

Polylith, as a concept, is documented https://polylith.gitbook.io/polylith[here].

The documentation you are reading now describes the Polylith tool built for https://clojure.org/[Clojure], a powerful and simple functional language for the https://en.wikipedia.org/wiki/Java_virtual_machine[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, from a single https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop[REPL].

We can easily assemble our Polylith bricks into different kinds of deployable artifacts, like services and tools, in the same way we put together LEGO® when we were kids! Not surprisingly, it's just as simple and fun!

To better understand the principles and ideas behind this tool, we recommend you first read about https://polylith.gitbook.io/polylith[Polylith as a concept]. At the very least, read https://polylith.gitbook.io/polylith/introduction/polylith-in-a-nutshell[Polylith in a Nutshell], where concepts like interface, component, base, brick, project, and workspace are introduced.

You can then dig into the Clojure Polylith tool {cljdoc-doc-url}/introduction[introduction].

Enjoy the ride!

== Sponsor Polylith

Please https://github.com/sponsors/polyfy[sponsor] the important work of Polylith! ❤️

Iron, Bronze, Silver, Gold, and Platinum sponsors are also listed and on the https://polylith.gitbook.io/polylith[front page] of the Polylith docs.

=== Bronze Sponsors

image::doc/images/sponsors/scrintal.png[link=https://www.scrintal.com,alt="scrintal.com",width=200]

=== Iron Sponsors

image:doc/images/sponsors/adgoji.png[link=https://www.adgoji.com,alt="adgoji.com",width=200]

image:doc/images/sponsors/taehee-sp.png[link=https://github.com/taehee-sp,width=150]

=== Polylith Fans

image:https://avatars.githubusercontent.com/u/18068051[link=https://github.com/yyna,alt="Jungin Kwon",width=32,role="left"] image:https://avatars.githubusercontent.com/u/59614667[link=https://github.com/fluent-development,alt="Multiply",width=32,role="left"] image:https://avatars.githubusercontent.com/u/6353427[link=https://github.com/anieri,alt="Anieri",width=32,role="left"] image:https://avatars.githubusercontent.com/u/53870456[link=https://github.com/john-shaffer,alt="John Shaffer",width=32,role="left"] image:https://avatars.githubusercontent.com/u/47784846?v=4[link=https://github.com/tlonist-sang,alt="Sanghyun Kim",width=32,role="left"]

=== Polylith Friends

image:https://avatars.githubusercontent.com/u/43875[link=https://github.com/seancorfield,alt="Sean Corfield",width=32,role="left"] image:https://avatars.githubusercontent.com/u/243097[link=https://github.com/namenu,alt="Hyunwoo Nam",width=32,role="left"] image:https://avatars.githubusercontent.com/u/120519034?s=200&v=4[link=https://github.com/premiscale,alt="PremiScale",width=32,role="left"]