# Test your architecture with Archunit

The purpose of this workshop is to understand by the practice how a tool like [Archunit](https://www.archunit.org/) can help you ensure :&#x20;

* Team architecture decision
* Structural rules (Class dependencies)
* Coding guidelines
* Naming conventions
* Linguistic Anti-patterns

### Source code

Source code is available [here](https://github.com/ythirion/archunit-examples) in :

* Scala
* C# 10
* java

### Connection - Your current software architecture

![](https://1936518372-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MAffO8xa1ZWmgZvfeK2%2Fuploads%2FYKgRhRNr5Cpe0VEql3fg%2Fimage.png?alt=media\&token=41c165d5-eac9-4bb8-ab43-1e2b0de22f67)

### Concepts

* Explain what can be done with the different Use Cases in the slides below
* Demo them with the code

### Concrete Practice

* Make them think about which kind of rules they are in their current projects
  * Often implicit ones
* Let's write them with Archunit DSL

### Conclusion

![](https://1936518372-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MAffO8xa1ZWmgZvfeK2%2Fuploads%2F5TvqsmoFQqegJxxoUqEK%2Fimage.png?alt=media\&token=596b1bcf-2361-49c1-a9af-714457b81044)

### Resources

Slides to facilitate this workshop

{% embed url="<https://speakerdeck.com/thirion/test-your-architecture-with-archunit>" %}


---

# 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://yoan-thirion.gitbook.io/knowledge-base/software-architecture/test-your-architecture-with-archunit.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.
