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 tagging
component interface tap
configuration introduction test-runners
contact libraries testing
continuous-integration license tools-deps
dependencies naming upgrade
developing-poly polylith-ci-setup validations
development polyx versions
doc production-systems workspace
example-systems profile
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 overview
create-base deps-workspace shell
create-component deps switch-ws
create-project diff tap
create-workspace doc test
create info version
deps-brick libs ws
deps-project-brick migrate
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 version
changes old ws-dir
components paths ws-local-dir
configs projects ws-reader
interfaces settings ws-type
messages user-input
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 slack
high-level videos
podcasts workspaces
python-tool
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
the-micro-monolith-architecture
the-monorepos-polylith-series
the-origin-of-complexity
understanding-polylith-through-the-lens-of-hexagonal-architecture
Blog post | What | Published |
---|---|---|
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
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
polylith-in-a-nutshell
polylith–a-software-architecture-based-on-lego-like-blocks
the-last-architecture-you-will-ever-need
Video | What | Published |
---|---|---|
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. |
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close