{"id":18633142,"url":"https://github.com/yeabtsega1/template-for-dotnet","last_synced_at":"2025-11-04T08:30:29.862Z","repository":{"id":244579268,"uuid":"815640175","full_name":"Yeabtsega1/Template-for-Dotnet","owner":"Yeabtsega1","description":"This is a template for creating .NET projects with compile-time code style checking, CI/CD workflows for Github Actions and Azure pipelines. Also, includes SonarCloud integration.","archived":false,"fork":false,"pushed_at":"2024-06-15T17:34:13.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-27T08:08:54.652Z","etag":null,"topics":["azure-pipelines","ci-cd","dotnet","dotnet-project","dotnet-template"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yeabtsega1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-15T17:34:10.000Z","updated_at":"2024-06-20T08:35:56.000Z","dependencies_parsed_at":"2024-06-15T19:45:09.219Z","dependency_job_id":"888a00f7-409b-4181-bdab-a6c92db9ea9f","html_url":"https://github.com/Yeabtsega1/Template-for-Dotnet","commit_stats":null,"previous_names":["yeabtsega1/template-for-dotnet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yeabtsega1%2FTemplate-for-Dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yeabtsega1%2FTemplate-for-Dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yeabtsega1%2FTemplate-for-Dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yeabtsega1%2FTemplate-for-Dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yeabtsega1","download_url":"https://codeload.github.com/Yeabtsega1/Template-for-Dotnet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239428185,"owners_count":19636904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-pipelines","ci-cd","dotnet","dotnet-project","dotnet-template"],"created_at":"2024-11-07T05:14:27.315Z","updated_at":"2025-11-04T08:30:29.814Z","avatar_url":"https://github.com/Yeabtsega1.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .NET project template\n\nThis is a template for creating .NET projects with compile-time code style checking, CI/CD workflows for Github Actions\nand Azure pipelines.\nAlso, includes SonarCloud integration.\n\n## Nuget packages\n\n### Compile time code style checking\n\n- `Microsoft.CodeAnalysis.NetAnalyzers`\n\n### Unit tests project\n\n- `coverlet.msbuild`\n- `coverlet.collector`\n- `FluentAssertions`\n\n## Required property groups in project file\n\n```xml\n\n\u003cPropertyGroup\u003e\n    \u003cEnableNETAnalyzers\u003etrue\u003c/EnableNETAnalyzers\u003e\n    \u003cAnalysisMode\u003eRecommended\u003c/AnalysisMode\u003e\n    \u003cEnforceCodeStyleInBuild\u003etrue\u003c/EnforceCodeStyleInBuild\u003e\n\u003c/PropertyGroup\u003e\n```\n\n## Commands\n\n- `dotnet test -p:CollectCoverage=true -p:CoverletOutputFormat=opencover -p:CoverletOutput=../TestResults`\n- `dotnet tool install --global dotnet-reportgenerator-globaltool --version 4.8.6`\n- `reportgenerator \"-reports:TestResults.opencover.xml\" \"-targetdir:coveragereport\" -reporttypes:Html`\n- `dotnet test -p:CollectCoverage=true -p:CoverletOutputFormat=opencover -p:CoverletOutput=TestResults -p:SkipAutoProps=true -p:Threshold=80`\n\n## Sources\n\n- [Defining formatting rules in .NET with EditorConfig](https://blog.genezini.com/p/defining-formatting-rules-in-.net-with-editorconfig)\n- [Enforcing .NET code style rules at compile time](https://blog.genezini.com/p/enforcing-.net-code-style-rules-at-compile-time)\n- [Analyzing and enforcing .NET code coverage with coverlet](https://blog.genezini.com/p/analyzing-and-enforcing-.net-code-coverage-with-coverlet)\n- [SonarCloud via GitHub Actions](https://github.com/kolosovpetro/SonarCloudViaGithubActions)\n- [How to build a .NET template and use it within Visual Studio. Part 1: Key concepts](https://www.mytechramblings.com/posts/create-dotnet-templates-for-visual-studio-part-1/)\n- [How to build a .NET template and use it within Visual Studio. Part 2: Creating a template package](https://www.mytechramblings.com/posts/create-dotnet-templates-for-visual-studio-part-2/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeabtsega1%2Ftemplate-for-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyeabtsega1%2Ftemplate-for-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeabtsega1%2Ftemplate-for-dotnet/lists"}