https://github.com/nventive/gooseanalyzers
.NET analyzers for your C# code
https://github.com/nventive/gooseanalyzers
Last synced: about 1 month ago
JSON representation
.NET analyzers for your C# code
- Host: GitHub
- URL: https://github.com/nventive/gooseanalyzers
- Owner: nventive
- License: apache-2.0
- Created: 2023-10-25T12:36:55.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-29T17:34:39.000Z (over 2 years ago)
- Last Synced: 2025-02-26T02:47:25.130Z (over 1 year ago)
- Language: C#
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# GooseAnalyzers
[](LICENSE)  
GooseAnalyzers is a collection of .NET Analyzers for your C# code.
## Getting Started
1. Install the [`GooseAnalyzers`](https://www.nuget.org/packages/GooseAnalyzers) NuGet package in your project.
1. Optionally, set `TreatWarningsAsErrors` to `true` when in `Release` configuration in your project files.
```xml
true
```
We recommend this so that you get warnings that don't block your dev loop, but errors that block your CI/CD pipelines.
1. Review the list of analyzers below and adjust your project settings based on your preferences.
## List of Analyzers
Identifier | Name | Description
-|-|-
`GOOSE001` | XmlDocumentationRequiredSuppressor | Limits the scope of [CS1591](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1591) and [SA1600](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1600.md) to interfaces.
## Features
### `GOOSE001` - XML Documentation on Interfaces
The `GOOSE001` analyzer is a `DiagnosticSuppressor` for the [CS1591](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1591) and [SA1600](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1600.md) rules that demand XML documentation on all public types and members.
This is a good practice, but it can unrealistic in some contexts.
We think that in those cases, having xml documentation on interfaces is a good middle ground.
- If you typically disable the `CS1591` or `SA1600` rules, we recommend that the you enable them and use this suppressor to limit their scope to interfaces.
- If you typically enable the `CS1591` or `SA1600` rules, we recommend that the you disable the `GOOSE001` suppressor.
## Breaking Changes
Please consult [BREAKING_CHANGES.md](BREAKING_CHANGES.md) for more information about version
history and compatibility.
## License
This project is licensed under the Apache 2.0 license - see the
[LICENSE](LICENSE) file for details.
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on the process for
contributing to this project.
Be mindful of our [Code of Conduct](CODE_OF_CONDUCT.md).