ChocolateyGUI/CONTRIBUTING.md at develop · chocolatey/ChocolateyGUI (original) (raw)

Contributors

Submitting an Issue? See the Submitting Issues section in the README.

The process for contributions is roughly as follows:

Prerequisites

Contributing Process

Get Buyoff Or Find Open Community Issues/Features

Set Up Your Environment

Prepare Commits

This section serves to help you understand what makes a good commit.

A commit should observe the following:

A commit message should observe the following:

A good example of a commit message is as follows:

(#7) Installation Adds All Required Folders

Previously the installation script worked for the older version of
Chocolatey. It does not work similarly for the newer version of choco
due to location changes for the newer folders. Update the install
script to ensure all folder paths exist.

Without this change the install script will not fully install the new
choco client properly.

Submit Pull Request (PR)

Prerequisites:

Submitting PR:

Respond to Feedback on Pull Request

We may have feedback for you to fix or change some things. We generally like to see that pushed against the same topic branch (it will automatically update the Pull Request). You can also fix/squash/rebase commits and push the same topic branch with --force. (It's generally acceptable to do this on topic branches not in the main repository. It is generally unacceptable and should be avoided at all costs against the main repository).

If we have comments or questions when we do evaluate it and receive no response, it will probably lessen the chance of getting accepted. Eventually this means it will be closed if it is not accepted. Please know this doesn't mean we don't value your contribution, just that things go stale. If in the future you want to pick it back up, feel free to address our concerns/questions/feedback and reopen the issue/open a new PR (referencing old one).

Sometimes we may need you to rebase your commit against the latest code before we can review it further. If this happens, you can do the following:

The only reasons a pull request should be closed and resubmitted are as follows:

Testing

There are some barebones Pester tests used to test the very basic functionalities of chocolateyguicli. These require Pester version 5.3.1 or newer. They can be launched by running Invoke-Pester within the Tests directory of the repository.

It is not currently expected that these Pester tests are run before submitting a PR. Their purpose at the moment is to establish a base to build upon.

Debugging with Chocolatey library information

In order to debug Chocolatey GUI, you need Chocolatey.Lib referenced in the project to match the Chocolatey version installed locally on your system. The easiest way to do this is to run ./Update-DebugConfiguration.ps1 from the root of the repository.

⚠️ NOTE

You will need to have nuget.commandline installed for this script to work.

You will also want to not commit the changes this script makes to the .csproj and packages.config files. As such, if you're making changes that would modify any of these files, it is recommended to make those changes, commit, then run the ./Update-DebugConfiguration.ps1 script.

Other General Information

If you reformat code or hit core functionality without an approval from a person on the Chocolatey Team, it's likely that no matter how awesome it looks afterwards, it will probably not get accepted. Reformatting code makes it harder for us to evaluate exactly what was changed.

If you follow the guidelines we have above it will make evaluation and acceptance easy. If you stray from them it doesn't mean we are going to ignore your pull request, but it will make things harder for us. Harder for us roughly translates to a longer SLA for your pull request.