# Overview

## What is the Polylith Tool?

The Polylith Tool gets us to development nirvana.

It helps us:

* **create the structure** of our *workspace*, *bases, components, projects* and *development project*.
* **test** our codebase incrementally.
* **vizualize** the workspace so we can understand and communicate about our codebase and architecture.

{% hint style="info" %}
We didn't have the Polylith Tool when we started building our first Polylith workspace. We manually created the directory structure and built the projects every time we made a change. Polylith's other advantages still made it a delight to work with, compared to our previous situation (Microservices).

So don't be afraid to start trying Polylith, even if your language doesn't have its own Polylith Tool yet.
{% endhint %}

Head over to the [poly tool](https://cljdoc.org/d/polylith/clj-poly/CURRENT/doc/readme) to learn more about how it works and how to use it.

## Conclusion

Now it's time to start wrapping up our journey, so let's discuss what we think makes Polylith so good to work with.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://polylith.gitbook.io/polylith/tool/the-polylith-plugin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
