Contributing to PoshUI
Thank you for your interest in contributing to PoshUI! We welcome contributions from the community to help make this framework better for IT professionals everywhere.
How Can I Contribute?
Reporting Bugs
If you find a bug, please check the existing issues to see if it has already been reported. If not, open a new issue and include:
- A clear, descriptive title.
- Steps to reproduce the problem.
- Expected vs. actual behavior.
- PowerShell and Windows version information.
Suggesting Enhancements
We love new ideas! If you have a suggestion for a new control, feature, or improvement:
- Search the issues to see if it's already being discussed.
- Open a new issue with the "enhancement" label.
- Describe the use case and how it would benefit other users.
Code Contributions
- Fork the repository.
- Create a new branch for your feature or fix.
- Follow the Coding Standards below.
- Submit a Pull Request (PR) with a detailed description of your changes.
Coding Standards
PowerShell Standards
- Naming: Use standard
Verb-Nounpairs for all public functions. - Prefixes: Use the
UIprefix for nouns (e.g.,Add-UITextBox). - Splatting: Use hashtable splatting in examples for readability.
- Compatibility: Ensure all code is compatible with Windows PowerShell 5.1.
- ASCII Only: Do not use Unicode emojis in
.ps1files; use Segoe MDL2 glyphs or HTML entities instead.
C# Standards
- Dependencies: Do not add any third-party NuGet packages or DLLs.
- Framework: Code must target .NET Framework 4.8.
- Style: Follow standard Microsoft C# coding conventions.
- MVVM: Maintain the Model-View-ViewModel pattern used in the Launcher project.
Development Environment Setup
- Follow the Building from Source guide.
- Keep scratch test scripts out of the repo - nothing outside
Launcher/,PoshUI/andDocs/is published. - Re-run whatever you used to reproduce the problem, and check the app still starts clean.
Pull Request Process
- Ensure your code builds successfully in Visual Studio (Release configuration).
- Update the relevant documentation in the
Docs/folder. - Add a summary of your changes to the
CHANGELOG.md. - A maintainer will review your PR and provide feedback.
Next: Extending PoshUI
