Skip to content

Latest commit

 

History

History
58 lines (43 loc) · 2.41 KB

CONTRIBUTING.md

File metadata and controls

58 lines (43 loc) · 2.41 KB

Contributing

It's good to hear that you want to contribute to Pony!

First of all please search existing issues. Apart from bug reports you will find feature requests and work currently in progress too. If you cannot find a suitable issue — create a new one. Potential pull requests are no exception. Before you start working, let's have a discussion and agree on the solution and scope.

Each of bug report, feature request or pull request has to cover different aspects described below.

Bug report

Provide the following details:

  • short summary of what you was trying to achieve,
  • a code causing the bug,
  • expected result,
  • actual results and
  • environment details: at least operating system and compiler version (ponyc -v).

If possible, try to isolate the problem and provide just enough code to demonstrate it. Add any related information which might help to fix the issue.

Feature request

Define a context and a problem the feature solves. List potential use cases and give some code examples.

Pull request

Provide the same information as you would for a feature request.

Before issuing a pull request we ask that you squash all your commits into a single logical commit. While your PR is in review, we may ask for additional changes, please do not squash those commits while the review is underway. Once everything is good, we'll then ask you to further squash those commits before merging. We ask that you not squash while a review is underway as it can make it hard to follow what is going on. Additionally, we ask that you:

If you aren't sure how to squash multiple commits into one, Steve Klabnik wrote a handy guide that you can refer to.

We keep a CHANGELOG of all software changes with behavioural effects in ponyc. If your PR includes such changes (rather than say a documentation update), please make sure that as part of PR, you have also updated the CHANGELOG.