poly
The poly
tool includes a doc command to open web-based documentation.
The shell's autocompletion support makes listing and accessing different parts of the documentation a breeze, so go ahead and start one up:
poly
Run the doc
command to open the start page of the poly
tool documentation:
example$ doc
The example$ prompt shows that we are working from our tutorial example workspace, but you can experiment with the doc command from any workspace.
|
You should see the page open in your web browser:
The page has some helpful links:
Link | Links to: |
---|---|
This documentation. | |
| A page listing all the different versions of this documentation.
NOTE: Useful documentation starts at version |
The cljdoc home page. Cljdoc is a central hub that hosts documentation for many Clojure libraries and tools (including clj-poly!). | |
The polylith GitHub repo. | |
Documentation for the current release. | |
Documentation for the current | |
The #polylith channel on Clojurians Slack. |
We automatically build a When you use a |
Use the search box or the left menu to navigate to pages and explore API docs:
And if you scroll down to the bottom of the left menu:
Return to the poly shell to explore, then open other available docs at any time.
From the poly shell, type doc
followed by a space to see the different help categories:
example$ doc
help more page ws
Doc categories:
Let’s dig into these categories.
Use the page
argument to open a specific poly
tool documentation page in your web browser.
Notice that the shell lists all pages:
example$ doc page:
artifacts flags readme
base git-hooks shell
build git source-code
colors install state
component interface tagging
configuration introduction tap
contact libraries test-runners
continuous-integration license testing
dependencies naming tools-deps
developing-poly polylith-ci-setup upgrade
development polyx validations
doc production-systems versions
example-systems profile visualize-the-repo
explore-the-workspace project workspace
These are the same pages you see listed in the left menu in your web browser.
When you select a page, poly
will open it in your web browser.
To open the flags
page:
doc page:flags
The help
argument takes you to the poly
commands documentation:
example$ doc help
Ask the shell to list all command help with:
example$ doc help:
check deps-project shell
create-base deps-workspace switch-ws
create-component deps tap
create-project diff test
create-workspace doc version
create info ws
deps-brick libs
deps-project-brick overview
To open the check
command:
example$ doc help:check
The poly
tool will open help for the check command in your web browser.
You can get the same help at your terminal via:
|
The ws
argument takes you to the Workspace structure documentation:
example$ doc ws
List all top keys via:
example$ doc ws:
bases name user-input
changes old version
components paths ws-dir
configs profiles ws-local-dir
interfaces projects ws-reader
messages settings ws-type
Open the description for a specific top key in your web browser:
example$ doc ws:configs
The more
argument covers all other documentation and links that are not specifically about the poly
tool:
example$ doc more:
blog-posts python-tool
high-level slack
in-japanese videos
podcasts workspaces
Let’s dig into the different categories:
Open blog posts via:
example$ doc more:blog-posts:
a-fresh-take-on-monorepos-in-python
how-polylith-came-to-life
leveraging-polylith-to-improve-consistency-reduce-complexity-and-increase-changeability
the-micro-monolith-architecture
the-monorepos-polylith-series
the-origin-of-complexity
understanding-polylith-through-the-lens-of-hexagonal-architecture
Blog post | What | Published |
leveraging-polylith-to-improve-consistency-reduce-complexity-and-increase-changeability | Felix Barbalet explains how Poilylith helps reduce complexity in an existing production system. | 2024 |
understanding-polylith-through-the-lens-of-hexagonal-architecture | Joakim Tengstrand explains the differences between the Hexagonal architecture and Polylith. | 2023 |
David Vujic explains what would happen if they had Polylith in the Python community. | 2022 | |
Sean Corfield describes his experience migrating a big production system to Polylith in a series of blog posts. | 2021-2023 | |
Joakim Tengstrand explains the foundational concepts that Polylith is built upon. | 2019 | |
Joakim Tengstrand explains how the Polylith architecture came to life. | 2018 | |
Joakim Tengstrand explains the ideas behind Micro Monolith, a predecessor to Polylith. | 2016 |
Open conceptual, high-level documentation:
example$ doc more:high-level
You can list all pages in the left menu with:
example$ doc more:high-level:
advantages-of-polylith
base
bring-it-all-together
component
current-architectures
development-project
faq
polylith-in-a-nutshell
production-systems
project
sharing-code
simplicity
testing-incrementally
tool
transitioning-to-polylith
videos
who-made-this
why-the-name-polylith
workspace
Open a specific page, for example, the FAQ page, via:
example$ doc more:high-level:faq
Shinsei Taro (しんせいたろう) has translated and reworked version 0.2.19 of the poly
tool in Japanese, here.
You can open the first episode of the only podcast we have with:
example$ doc more:podcasts:polylith-with-joakim-james-and-furkan:part1
Podcast | What | Published |
---|---|---|
Jacek Schae discusses the Polylith architecture with the Polylith team where they explain the ideas behind Polylith. | 2021 | |
The same people go deeper into the Polylith concepts, its benefits, and how it differs from other ways of working with code. | 2021 |
Reach out to the Polylith team in the #polylith channel in the Clojurians Slack:
example$ doc more:slack
You can list available videos with:
example$ doc more:videos:
a-fresh-take-on-monorepos-in-python
collaborative-learning-polylith
developer-tooling-for-speed-and-productivity-in-2024
how-the-polylith-repo-has-evolved-over-time
polylith-in-a-nutshell
polylith–a-software-architecture-based-on-lego-like-blocks
the-last-architecture-you-will-ever-need
Video | What | Published |
---|---|---|
A talk by Vedang Manerikar from the IN/Clojure 2024 conference, where he talks about the advantages of Polylith. The speaker notes can be found here. | 2024 | |
An animation that visualizes the evolution of the Polylith repository from its inception in 2020 to mid-2024. Generated in Gource. | 2024 | |
David Vujic explains how Polylith can be used in Python. | 2023 | |
Sean Corfield is interviewed by the Los Angeles Clojure Users Group about his experience with Polylith and how he uses the | 2022 | |
Joakim Tengstrand and Furkan Bayraktar try to convince people why Polylith is the last architecture they will ever need! | 2020 | |
James Trunk explains the basic concepts of the Polylith architecture. | 2019 | |
Joakim Tengstrand explains how Polylith is like building with LEGO bricks, at ClojureD 2019. | 2019 |
List example poly workspace with:
example$ doc more:workspaces:
game-of-life
polylith
realworld
usermanager
Workspace | What |
---|---|
A demo web app to show the use of Rama and Electric together, created by Jean Boudet. | |
A tiny workspace that implements Game of Life, created by Joakim Tengstrand. | |
A small example system to show how you can use Integrant in Polylith, created by Mark Sto. | |
The Polylith workspace, from which this | |
A full-fledged RealWorld server, built with Clojure, Polylith, and Ring, including CRUD operations, authentication, routing, pagination, and more. Created and maintained by Furkan Bayraktar. | |
A simple web application using Component, Ring, Compojure, and Selmer connected to a local SQLite database. Created and maintained by Sean Corfield. |
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close