image::doc/images/logo.png[width=400]
:snapshot-number: 0
:snapshot-version: 0.3.33
:stable-version: 0.3.32
:cljdoc-doc-url: https://cljdoc.org/d/polylith/clj-poly/CURRENT/doc
https://cljdoc.org/d/polylith/clj-poly/{stable-version}/doc/readme[image:https://img.shields.io/badge/doc-{stable-version}-0380c1[]]
ifeval::["{snapshot-version}" != "{stable-version}"]
https://cljdoc.org/d/polylith/clj-poly/{snapshot-version}-SNAPSHOT[image:https://img.shields.io/badge/doc-{snapshot-version}--SNAPSHOT%20%23{snapshot-number}-02acbb[]]
endif::[]
https://clojurians.slack.com/messages/C013B7MQHJQ[image:https://img.shields.io/badge/slack-join%20chat-01bd00[]]
== Welcome to the wonderful world of Polylith for Clojure and ClojureScript!
Polylith is made by developers for developers.
Our main goals are to decrease complexity, maximize productivity, and make coding a more joyful experience.
Although Polylith is not a build tool, it integrates into your build pipeline.
We recommend reading on, but if you're impatient, jump straight to the {cljdoc-doc-url}/introduction[introduction] of this poly tool.
The documentation you are reading now describes the poly command line tool, built for https://clojure.org/[Clojure] and https://clojurescript.org[ClojureScript].
Clojure is a powerful and simple functional language for the https://en.wikipedia.org/wiki/Java_virtual_machine[JVM], and ClojureScript is its JavaScript-targeting dialect.
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 on the https://polylith.gitbook.io/polylith[front page] of the Polylith docs.
=== Iron Sponsors
image:doc/images/sponsors/adgoji.png[link=https://www.adgoji.com,alt="adgoji.com",width=200]
=== Polylith Fans
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/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"]