Welcome to jQAssistant 🚀
jQAssistant is an Open-Source-Tool that helps you to analyze and control the quality of your software systems. It is centered around three main use cases:
- Easily carry out Software Analytics to gain insights into your software systems
- Continuously verify the correct implementation of targeted design and architecture using provided or user-defined rules to reach defined quality goals
- Automatically enable Living Documentation by generating documentation from the code and validating documentation against the implementation to avoid the documentation-code-gap and confusion
Out-of -the-box, it brings first class support for Maven-Java-based applications including a bunch of default scanners for most used formats like JSON and YAML and default rules for jUnit. With its plugin-based architecture, it can support a multitude of technologies, frameworks and architectural concepts. And if the provided plug-ins are not enough, it is easy to create your own.
About the organization
This GitHub organization is the main entry point for jQAssistant.
However, we created a universe around it with the following two GitHub organizations to make your life easier:
- jQAssistant Plugin provides a collection of useful extensions to jQAssistant such as scanners for additional formats, rule sets for frameworks and technologies, and means to report results as e.g. AsciiDoc or rendered PlantUML diagrams.
- jQAssistant Tutorials gives an overview of potential use cases including description on how to set them up in your environment. We recommend that every (new) user takes a look at it and be inspired.
- jQAssistant Tooling offers integrations for jQAssistant into other tools such as AsciidoctorJ or SonarQube.
- jQAssistant Archive contains the history of plugins that were either deprecated and discontinued from ongoing development or plugins that were moved in the context of the jQAssistant 2.0 migration. For the latter case, the old development stat (<2.0.0) can be found in the archive, the newer state in the Plugin organization.
Way of contribution
We're happy about every contribution. To make this as efficient as possible, take a look at the following guidance:
- Issues should have a meaningful description, best with an example for reproduction. If possible to identify, put the issue into the repository of the part (e.g. core, a plugin, an example) where the issue occurred. This saves us a lot of time.
- We're happy to accept pull requests that solve the issue.
- Feature Requests should have a meaningful description, best with an example. If possible to identify, put the feature request into the repository of the part (e.g. core, a plugin, an example) where you expect the feature to be. This saves us a lot of time.
- We're happy to accept pull requests that implement the request.
We also provide an Idea Hub for all your great ideas and to host discussions around jQAssistant at Idea-Hub.
For any other topics, feel free to Contact Us