You do not need to be a programmer to contribute. Some of the most valuable contributions are device database entries (just a VID and PID from Device Manager) and translations (no coding experience required — just copy a file and translate the text between tags). If you know a radio interface or USB adapter that PortPane should recognize, or if you speak another language, your help is welcome.
Thank you for your interest in contributing to PortPane by ShackDesk.
| Type | How |
|---|---|
| Bug report | Open a Bug Report issue |
| Feature request | Open a Feature Request issue |
| USB device addition | Open a USB Device issue or submit a PR editing data/usb_devices.json |
| Translation | See TRANSLATING.md and open a Translation issue |
| Code | Fork, branch, and submit a pull request (see below) |
All contributors must agree to the Contributor License Agreement before a pull request can be merged. By submitting a PR, you agree to its terms.
- MVVM strictly enforced. No business logic in code-behind files (
.xaml.cs). All logic lives in ViewModels and Services. - No hardcoded strings. All branding values reference
BrandingInfoconstants. - No admin rights. The app must run as standard user (
asInvoker). - Logging via Serilog only. No
Console.WriteLine,Debug.WriteLine, orTrace. - C# 12 / .NET 8 target only. No
.NET Frameworkor.NET Standardtargets.
- Fork the repository
- Create a branch:
feature/my-featureorfix/my-bug - Make your changes
- Run tests:
dotnet test - Submit a pull request — fill out the PR template fully
- A maintainer will review within 7 days
Post in GitHub Discussions.