Skip to content

Comparison with alternatives

How CodeCharter positions itself against Roslyn analyzers, SonarQube, and NDepend.

The following matrix shows which capabilities CodeCharter brings and how that compares to the most common .NET code quality tools.

Feature matrix

Feature CodeCharter Roslyn analyzers SonarQube NDepend
Source code stays local depends on hosting
100+ built-in rules out of the box no (packages added individually)
Custom rules without a build or NuGet lifecycle no no ✓ (CQLinq)
Coupling and architecture metrics in the schema no partially
OOP metrics (abstractness, instability, cohesion) no partially
Multi-platform CLI without an installed SDK no no no
SARIF output for GitHub Code Scanning and GitLab SAST no no
GitHub annotations as PR inline comments no no
Guaranteed determinism
No self-hosted server required no
Per-team license instead of per-seat OSS LOC-based per-seat

When CodeCharter is the right choice

When you want to enforce custom rules without maintaining C# analyzer projects. CodeCharter rules live in a text file, with no build lifecycle.

When you want to enforce architecture and layering in the build. Coupling and dependencies are available in the schema, and layering rules are written directly in the DSL.

When you don't want to use a cloud service. Analysis runs locally, and source code never leaves your environment.

When you don't want to run another server. No dashboard, no database, no license management in your own infrastructure.

When per-team licensing keeps your accounting overhead manageable. CodeCharter is licensed per team per year, with no per-seat reporting.

How it fits together

CodeCharter does not replace every tool mentioned above. A practical stack for a typical .NET team:

  • EditorConfig for style settings in the editor.
  • Microsoft.CodeAnalysis.NetAnalyzers as the Roslyn baseline.
  • CodeCharter for custom conventions, architecture, complexity thresholds, and all rules that go beyond standard sets.

EditorConfig and Roslyn analyzers handle language and style; CodeCharter handles team-specific substance.