First off, thank you for considering contributing to UEMCP! Your help is greatly appreciated.
- Ensure the bug was not already reported by searching on GitHub under Issues.
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
- Open a new issue with the enhancement suggestion, providing as much detail as possible about the proposed changes and why they would be beneficial.
- Open a new GitHub pull request with the patch.
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
- Follow the existing code style and conventions.
- Make sure your code is well-commented, especially in hard-to-understand areas.
- TypeScript: Follow ESLint rules, no
anytypes without justification - Python: Adhere to PEP 8, use type hints, catch specific exceptions
- Line Endings: Always use LF (Unix-style), not CRLF
- Testing: Run
./test-ci-locally.shbefore committing
See CLAUDE.md for detailed code standards.
For maintainers releasing new versions:
- Update version in
package.jsonandplugin/UEMCP.uplugin - Update PLAN.md roadmap status
- Create release notes in
docs/release-notes/vX.Y.Z.md - Tag release:
git tag vX.Y.Z && git push --tags - Create GitHub release with notes
Feel free to open an issue for any questions you may have.