Skip to main content
Contributing

Help build PSCloudPC

PSCloudPC is built by and for the Windows 365 community. Contributions of every size are welcome, from a typo fix to a brand-new cmdlet.

Contributing code

Your first pull request

If you plan a larger change, open an issue or discussion first so we can agree on the approach before you invest time in it.

  1. 1

    Fork and branch

    Fork Windows365Management/PSCloudPC and create a branch from develop, prefixed with feature/, fix/ or docs/.

  2. 2

    Follow the conventions

    Use an approved PowerShell verb and the CPC noun prefix, with one cmdlet per file in PSCloudPc/Public/. Add new cmdlets to FunctionsToExport in the manifest.

  3. 3

    Write the help

    Add comment-based help with a synopsis, description, every parameter and at least one example that starts with the cmdlet name. This help is also the source of the cmdlet reference.

  4. 4

    Test and open a pull request

    Add Pester tests, run PSScriptAnalyzer and the tests locally, and open a pull request against develop. A maintainer will review it.

Run the same checks as CI

Invoke-ScriptAnalyzer -Path ./PSCloudPc/Public/*.ps1 -Recurse -ExcludeRule PSAvoidTrailingWhitespace
Import-Module ./PSCloudPc/PSCloudPC.psd1 -Force
Invoke-Pester -Path ./Pester/Functions.tests.ps1, ./Tests -Output Detailed

The full development guide lives in CONTRIBUTING.md.

Documentation

Improve this website

Guides

Guides such as installation and authentication live in the PSCloudPC-site repository under website/docs. Use the Edit this page link at the bottom of any guide to propose a change.

Cmdlet reference

Cmdlet pages are generated from the module's comment-based help. To fix one, edit the help in the cmdlet's source file; the Edit this page link on a cmdlet page takes you there.

Be kind, be welcoming

Please follow our Code of Conduct in all project spaces. By contributing, you agree that your contributions are licensed under the MIT License.