Creedengo C#

February 24, 2025 ยท View on GitHub

creedengo is a collective project aiming to reduce environmental footprint of software at the code level. The goal of the project is to provide a list of static code analyzers to highlight code structures that may have a negative ecological impact: energy and resources over-consumption, "fatware", shortening terminals' lifespan, etc.

creedengo is based on evolving catalogs of good practices, for various technologies. This SonarQube plugin then implements these catalogs as rules for scanning your C# projects.

This SonarQube plugin is based on a generated plugin from SonarSource Sonarqube Roslyn SDK with a slightly different rules import process.

The Creedengo C# Sonarqube plugin relies on the Creedengo nuget package that is responsible of the codebase analysing part. You can then track detected issues within a compatible Sonarqube instance.

โš ๏ธ This is still a very early stage project. Any feedback or contribution will be highly appreciated. Please refer to the contribution section.

License: GPL v3 Contributor Covenant

๐ŸŒฟ SonarQube Plugins

This plugin is part of the creedengo project.
You can find a list of all our other plugins in the creedengo repository

๐Ÿš€ Getting Started

You can give a try with a one command docker :

docker run -ti --rm \
       -p 9000:9000 \
       --name sonarqube-creedengo-csharp ghcr.io/green-code-initiative/sonarqube-creedengo-csharp:latest

or (with logs and data locally stored) :

docker run -ti --rm \
       -v sq_creedengo_logs:/opt/sonarqube/logs \
       -v sq_creedengo_data:/opt/sonarqube/data \
       -p 9000:9000 \
       --name sonarqube-creedengo-csharp ghcr.io/green-code-initiative/sonarqube-creedengo-csharp:latest

... and configure local SonarQube (security config and quality profile : see configuration for more details).

To install other creedengo plugins, you can also :

  • download each plugin separatly and copy the plugin (jar file) to $SONAR_INSTALL_DIR/extensions/plugins and restart SonarQube.
  • install different creedengo plugins with Marketplace (inside admin panel of SonarQube)

Then you can use C# test project repository to test the environment : see README.md of C# test project

To analyze a .net codebase without having to install required components (i.e. .net SDK, JDK/JRE, etc.), you can use our docker dotnetscan wrapper.

Finally, you can directly use a all-in-one docker-compose

By default, Dockerfile use the official Sonarqube LTS Community image version. You can override this behaviour and use a custom version of your choice by specifying a build-arg to the build command, for example :

docker build --build-arg SONARQUBE_VERSION=25.2.0.102705-community .

If you want to use the docker-compose file, you can use the below commands to use an overrided dockerfile build :

docker compose build --build-arg SONARQUBE_VERSION=25.2.0.102705-community
docker compose up -d --no-build

๐Ÿ›’ Distribution

Ready to use binaries are available from GitHub.

๐Ÿงฉ Compatibility

Plugin versionSonarQube versioncreedengo nuget package version
1.1.0+9.9.+ LTS to 10.5.11.1.0
2.1.0+9.9.+ LTS and above2.1.0

๐Ÿค Contribution

check creedengo repository

๐Ÿค“ Main contributors

check creedengo repository