Is your feature request related to a problem? Please describe.
Currently, different requirement implementations are littered across different plugins. This makes it difficult to find a suitable implementation for a new requirement as well as share implementations across plugins.
For new developers unfamiliar with the codebase, there is also a high chance of code duplication which we should try to avoid.
E.g. GitHubRulesets has a requirement (EnableRulesetRequirementImpl) which extends a requirement implementation in GitHub (EnableRequirementImpl) thus having to reach into that other plugin.
Describe the solution you'd like
Under the src/RepoAuditor directory, there should be a RequirementImpl directory where all the implementations can be moved and commonly accessed. This directory can also serve as a starting point to extend for those considering writing new requirements.
Describe alternatives you've considered
Leave the current structure as is.
Additional context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem? Please describe.
Currently, different requirement implementations are littered across different plugins. This makes it difficult to find a suitable implementation for a new requirement as well as share implementations across plugins.
For new developers unfamiliar with the codebase, there is also a high chance of code duplication which we should try to avoid.
E.g.
GitHubRulesetshas a requirement (EnableRulesetRequirementImpl) which extends a requirement implementation inGitHub(EnableRequirementImpl) thus having to reach into that other plugin.Describe the solution you'd like
Under the
src/RepoAuditordirectory, there should be aRequirementImpldirectory where all the implementations can be moved and commonly accessed. This directory can also serve as a starting point to extend for those considering writing new requirements.Describe alternatives you've considered
Leave the current structure as is.
Additional context
Add any other context or screenshots about the feature request here.