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
Tip
|
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. |
Note
|
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 workspace
explore-the-workspace project
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.
Tip
|
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
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 |
---|---|---|
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 tiny workspace that implements Game of Life, created by Joakim Tengstrand. |
|
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. |