Ward

Ward vs SonarQube: what is the difference?

Updated

Ward and SonarQube solve different problems, and Ward can run SonarQube as one of its gates. SonarQube reports code quality and security issues on a server; Ward makes your coding agent fix rules at every edit, commit, push and CI run.

What does SonarQube do well?

From SonarQube’s own documentation: it analyzes source code in many languages for bugs, code smells, duplication and security issues. It tracks them over time and applies quality gates, which are pass or fail conditions on a project or a pull request. It runs as a server, self-hosted or as SonarQube Cloud, and it has IDE and CI integrations. If you want a dashboard of code health for a whole organization, SonarQube is built for that.

What does Ward do differently?

Ward is a command-line tool that lives in your repository. Its rules sit in ward.toml and run in four layers: after each agent edit, before a commit, before a push and in CI. Inner layers are fast, so Ward hands the exact failure to the agent seconds after the edit, and the agent fixes it. Ward also has its own lint, format and architecture rules, and it runs tests, coverage and security scanners. SonarQube analysis is not part of the edit loop.

When is SonarQube the better choice?

Can I use Ward and SonarQube together?

Yes. Ward has a sonar gate that runs SonarQube. It is an environment-dependent gate, so ward init places it in the ci layer only. The fast layers stay quick for the agent, and the full analysis runs where a server is available.

ward init
ward check --profile ci

Where do I go next?

Ready to try it? Install Ward and run ward init in your project.