# Contributor guidelines Thanks for your interest in contributing to Megapahit! This document summarizes some of the most important points for people looking to contribute to the project especially those looking to provide bug reports and code changes. ## Table of contents - [Communication](#communication) - [What to work on](#what-to-work-on) - [Reporting bugs and requesting features](#reporting-bugs-and-requesting-features) - [Contributing pull requests](#contributing-pull-requests) ## Communication Megapahit has multiple channels for communication. Some of these channels are more end-user focused, while others are more tailored for developer-to-developer or support. - [Bugzilla][] is Megapahit's primary community engagement forum. Ideas and bug reports should be placed here unless they relate to ongoing development issues and developer-to-developer communication. - [IRC][] is publishing updates on a regular basis, including those for announcing Git commit logs, nightly build URLs and more. - [Github issues][] provide a means for staff to organize their work and collaborate with other developers. By default most user-facing discussions should happen on [Bugzilla][] so that they are visible to more people, can build consensus, and be placed onto our public roadmap. Github issues are useful for collaboration between viewer forks and the official upstream and when engineering-specific and technical collaboration is beneficial. - The [in-world group][] exists for many topics including content creation, scripting, social topics and more, and are useful for announcements and discussion between viewer maintainers. - Our [Discord][] is available for real-time discussion. ## What to work on If you're looking for ways to contribute code, here are some ways to get involved: - Explore existing issues on the [GitHub issue tracker](https://github.com/secondlife/viewer/issues) to find known problems, bugs, or enhancement discussions. - File new issues if you’ve discovered a bug or have a specific idea to propose. If your idea is user-facing, consider submitting it through feedback.secondlife.com so it can reach a broader audience and be prioritized by Linden Lab staff. - Look for the [help wanted](https://github.com/secondlife/viewer/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22help%20wanted%22) label. These are tasks the core maintainers have specifically identified as good candidates for community help. - Talk to maintainers before starting significant work. Even if an issue exists, discussing your approach first ensures alignment with ongoing efforts and increases the likelihood your pull request will be accepted. Collaboration is essential. We encourage contributors to work closely with the Second Life engineering team and other developers to keep work consistent and maintainable. ## Reporting bugs and requesting features Report bugs and provide ideas for features using the respective board on Megapahit's feedback portal: - [Viewer bugs and features](https://megapahit.com/enter_bug.cgi?product=Viewer) Creating posts on Bugzilla is important as it allows the greatest exposure and input from Second Life users. It also allows Megapahit staff to place work on a single public roadmap. Issues created on Github or Discord are imported onto Bugzilla after they have been reviewed by staff and accepted. ## Contributing pull requests If you wish to contribute a new pull request, please ensure that: - You talk to other developers about how best to implement the work. - The functionality is desired. Be sure to talk to users and Megapahit staff to ensure the work is a good idea and will be accepted. - The work is high quality and the PR follows [PR etiquette][] - You have tested the work locally The [Git Style Guide](https://github.com/agis/git-style-guide) is also a good reference for best git practices. [Bugzilla]: https://megapahit.com [IRC]: irc://megapahit.net/#viewer [PR etiquette]: https://gist.github.com/mikepea/863f63d6e37281e329f8 [Github issues]: https://github.com/megapahit/viewer/issues [in-world group]: https://world.secondlife.com/group/1142646c-5fb2-162c-ecf8-c5e422ab5c6d [Discord]: https://discord.gg/jpt33HPVEK