Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Jul 20, 2022. It is now read-only.

How can I contribute to PsGet

codeassassin edited this page Apr 12, 2012 · 1 revision

Start by finding an existing Issue that you want to address or add a new Issue to start a discussion around a bug fix or feature you would like to add. Then, fork the PsGet repository and when your changes are ready, raise a Pull Request.

To increase the likelyhood of your contribution being accepted and to minimise delays, consider the following guidelines when working with the PsGet code base:

  • PowerShell cmdlet and parameter names should be fully expanded and not abbreviated or use aliases.
  • Only change code that needs to be changed, don’t be tempted to reformat nearby code. If reformatting is required it should be done in a separate commit.
  • Only introduce additive changes that don’t break existing behaviour. Changes that must break existing behaviour should be phased-in over several releases to allow users opportunity to migrate.
  • Performance-related changes should be based on measurable improvements for frequently performed operations.
  • Refactoring should be performed as part of implementing features or bug fixes to improve consistency and maintainability, not for its own sake.
  • Tests should be added to verify that bug fixes and new features work as expected. All tests should be run before a pull-request/push to minimise the chance of introducing unintended side-effects.
  • Changes should be implemented on a branch and rebasing should be used in place of merging where feasible to maintain a mostly linear history.

Also be aware of these core compatibility requirements of PsGet:

  • PsGet should support both PowerShell v2 and PowerShell v3 at every opportunity.
  • PsGet should support non-administrator users at every opportunity. Obviously installing global modules cannot work this way, but PsGet does not require modules to be installed globally, it is an option.
  • PsGet should support should work equally well for an interactive user and for an script running as a background task without any input mechanism. (ie don’t prompt via the UI)
  • PsGet should support a clean OS with only PowerShell installed. For PSv2 this means it should support Windows XP, Server 2003, Vista, Server 2008, and Windows 7 (both x86 and x64 for all) and also means it should not assume any .NET Framework beyond 2.0 is installed (ie new .NET 3.x classes cannot be used for core PsGet functionality).

Clone this wiki locally