CONTRIBUTING.md

April 18, 2024 ยท View on GitHub

Contributing

DelphiLint is open for contributions, from bug reports to new features. GitHub issues and pull requests are the core locations for community involvement - check them out!

Reporting bugs

Note

Because DelphiLint's analysis is powered by SonarDelphi, problems relating to analysis quality should be raised on SonarDelphi's issue tracker.

For example, the following issues should not be raised on the DelphiLint repository:

  • Errors parsing Delphi code
  • Unexpected analysis results (e.g. false positive issues)
  • Typos or inaccuracies in rule descriptions

Bugs with DelphiLint can be reported on the GitHub issue tracker. When reporting a bug, please do the following:

  • Check that your issue has not already been reported
  • Include the versions of SonarDelphi and the Delphi IDE (and SonarQube, if applicable) you are using
  • Be as specific as possible in your description
  • Ensure that your issue is not a SonarDelphi bug (if in doubt, raise a DelphiLint issue)
  • If applicable, supply a minimal case that replicates the issue

Requesting features

Note

Because DelphiLint's analysis is powered by SonarDelphi, features relating to analysis quality should be raised on SonarDelphi's issue tracker.

For example, proposals for new rules or improvements to existing rules should not be raised on the DelphiLint repository.

Feature requests can be listed on the GitHub issue tracker. Note that this does not necessarily mean a developer will decide to implement the feature - if you would like a feature consider implementing it yourself and making a pull request.

When requesting a feature, please do the following:

  • Check that a similar feature has not already been requested
  • Be as specific as possible in your description
  • Ensure that your suggested feature is not a SonarDelphi feature (if in doubt, raise a DelphiLint issue)

Making pull requests

Pull requests are welcome! When making a pull request, please do the following:

  • Ensure that the functionality is widely useful rather than specific to your use case
  • For new features, ensure that it has been discussed in an issue prior to making the pull request
  • Describe the contents of your pull request
  • Clearly explain the rationale for adding it to DelphiLint