Contributing to psPAS
All contributions, whether comments, code or otherwise are welcomed and appreciated.
psPAS Issues
If you find an error in psPAS
, or have a question relating to the module, log an issue.
Contributing Code
- Fork the repo.
- Push your changes to your fork.
- Write good commit messages
- If no related issue exists already, open a New Issue describing the feature, or the problem being fixed.
- Update documentation for the command as required.
- Submit a pull request to the Dev Branch
- Keep pull requests limited to a single issue
- Discussion, or necessary changes may be needed before merging the contribution.
- Link the pull request to the related issue
PowerShell Styleguide
Use the standard Verb-Noun convention, and only use approved verbs.
All Functions must have a Markdown Help file, and the external help file for the module must be updated (see Command Help & External Help File).
K&R (One True Brace Style variant) preferred.
Updating Documentation
Project documentation, help files, examples and all content of the psPAS Site is able to be updated by editing the files on the project’s GitHub page.
The Docs site content is generated from these files
Command Help
Command Help Markdown files are used to generate the psPAS Documentation.
The files can be edited to correct any errors, or include any additional detail, examples or relevant information.
If changes have been made the the parameters of the related psPAS function, the platyPS
module must be used to automatically update markdown files with changes to parameters and command syntax:
#From the module root directory, run:
import-module platyPS
Update-MarkdownHelp -Path .\docs\collections\_commands\
External Help File
Command Help Markdown files are the source of truth for the Get-Help
content of the module.
Changes to these markdown files must be reflected in the Get-Help
content.
platyPS
must be used to automatically generate the external help file:
#From the module root directory, run:
import-module platyPS
New-ExternalHelp -Path .\docs\collections\_commands\ -OutputPath .\psPAS\en-US\psPAS-help.xml -Force
Pull Requests
When submitting a Pull Request to psPAS, automated tasks will run in Appveyor.
- Appveyor will increment the version number (there is no need for you to do this manually)
- The
Pester
tests for the module will run. - Code Coverage metrics for the module will be determined.
- Once code is merged into the
master
branch, and all tests pass, the module is automatically published to the PowerShell Gallery and tagged as a Release on GitHub- No PR’s should be submitted to the master branch;
- submitting to the Dev branch allows for required tests & documentation to be updated prior to any code release.
- No PR’s should be submitted to the master branch;