Introduction
TangleGuard is a tool made for Rust projects. It helps to create and keep an easy-to-maintain software architecture. It does to by providing the folioing key capabilities. Any configuration is stored in a configuration file.
Architecture Visualization
Section titled “Architecture Visualization”TangleGuard offers the capability to explore the source code as an interactive graph diagram. It provides you with high level diagrams which shows your declared layers and how their are related to each other and more in depth diagrams for each package, where you can see how your modules are related to each other.
- Workspace visualization as graph diagram
- Package and module structure visualizations
Architecture Validation
Section titled “Architecture Validation”TangleGuard is also a structural linter which verifies your source code regarding user-defined rules. That way an architect can enforce the planned architecture. The developers run the CLI tool while working on changes to get notified about violations. It can also be integrated into the CI/CD pipeline. The only rules currently supported are dependency rules between layers.
- Define layers and associated packages with those layers
- Define dependency rules between layers.
Architecture Documentation
Section titled “Architecture Documentation”Lastly you can store your architecture decisions within the architecture configuration file which is stored within your repository - as so called Architecture Decision Records.
- Describe packages for further insights and as documentation.
- Define domains and associate packages to those
- Planned packages that need to be implemented