Pick what suits you
Report a bug
Something not working? Include the module version, PowerShell version and the exact command you ran.
Open a bug report →Request a feature
Missing a cmdlet? A link to the relevant Microsoft Graph API documentation helps a lot.
Request a feature →Ask or share
Ask a question, share how you use PSCloudPC or float an idea with the community.
Start a discussion →Write code
Fix a bug or add a cmdlet. Issues labelled good first issue or help wanted are great places to start.
Find an issue →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
Fork and branch
Fork Windows365Management/PSCloudPC and create a branch from
develop, prefixed withfeature/,fix/ordocs/. - 2
Follow the conventions
Use an approved PowerShell verb and the
CPCnoun prefix, with one cmdlet per file inPSCloudPc/Public/. Add new cmdlets toFunctionsToExportin the manifest. - 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
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.
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.