Contributing
Thanks for your interest in contributing. PiNetBeacon is designed to be welcoming to hobbyists, learners, and curious tinkerers, not only seasoned developers. Whether you want to fix a typo, suggest an idea, or build a whole new module, we’re glad to have you here.
This page explains how to participate, what kinds of contributions are welcome, and how to submit changes in a way that keeps the project healthy and easy to maintain.
Contents (choose your own adventure)
- 🙋 Ways you can contribute
- 🔧 Improving code or adding modules
- 📝 Improving documentation
- 🐞 Reporting issues or bugs
- 🔀 How to open a pull request
- 🤝 Community guidelines
- ✨ Thank you
🙋 Ways you can contribute
There are many ways to help PiNetBeacon grow, and you don’t need deep networking or programming experience to make a meaningful impact.
Here are some contributions that are always welcome:
- finding unclear wording and helping make it more readable
- fixing typos or formatting issues
- improving explanations for beginners
- adding examples or clarifying steps
- testing modules on different Raspberry Pi models
- suggesting new features or checks
- sharing ideas in the issue tracker
- helping shape the project’s direction
Even small improvements help make PiNetBeacon a friendlier place for the next person.
🔧 Improving code or adding modules
If you’re interested in contributing code, that’s fantastic. PiNetBeacon is intentionally built to be approachable for hobbyists, so the codebase is small, readable, and not packed with framework magic.
A few tips before diving in:
- Look at the existing modules to understand the structure
- Keep your module focused on a clear, single purpose
- Try to follow the style and tone of the current code
- Be mindful of performance on lower-power Pis (Zero, Zero 2 W)
- Test your module at least a few times before submitting a PR
If you’re not sure whether your idea fits, feel free to open an issue first. A quick discussion can help shape your idea into something the whole project can use.
📝 Improving documentation
Clear documentation is one of the most valuable parts of any open source project, and contributions here are always appreciated. You don’t need to write code to make a real difference.
You can help by:
- clarifying a step that felt confusing
- adding explanations or examples
- improving readability
- suggesting beginner-friendly tips
- fixing formatting or broken links
- adding diagrams or illustrations
- reorganizing sections for better flow
If you spot something that made you pause or double-check, chances are someone else will appreciate that improvement too.
Documentation lives in the docs/ folder and is written in Markdown, so it’s easy to edit or extend.
🐞 Reporting issues or bugs
If something isn’t working the way you expect, opening an issue is a huge help. A good issue doesn’t need to be long or complicated. The goal is simply to describe what happened so others can understand and reproduce it.
Helpful details include:
- what command you ran
- what you expected to happen
- what actually happened
- any error messages
- your Raspberry Pi model and OS version
- steps to reproduce the issue
- screenshots or logs if relevant
You don’t need to troubleshoot everything yourself. If the issue is enough to get a conversation started, that’s perfect.
🔀 How to open a pull request
Pull requests (PRs) are the main way to contribute code or documentation changes to PiNetBeacon. If you’ve never opened one before, don’t worry — GitHub makes the process straightforward.
Here’s the typical flow:
-
Fork the repository
Click the “Fork” button on GitHub to create your own copy. -
Create a new branch
Give it a short, descriptive name likefix-dns-docoradd-http-module. -
Make your changes
Update the code or documentation. Small, focused changes are easier to review than large bundles. -
Test your changes
Run the check script or build the docs as needed. -
Open a pull request
Describe what you changed and why. Screenshots or examples are always welcome. -
Participate in review
A maintainer may leave comments or suggestions. This is a normal and friendly part of the process.
You don’t need to be an expert to contribute. PRs that improve clarity, reliability, or accessibility are always appreciated.
🤝 Community guidelines
PiNetBeacon is a small project built with curiosity, patience, and a sense of kindness. Everyone is welcome here, including beginners who are still learning the basics.
To keep things comfortable for contributors and maintainers, we ask that you:
- be respectful and considerate
- assume good intentions
- keep feedback constructive
- prioritize clarity in code and communication
- help others where you can
- embrace learning and experimentation
It’s okay if your idea isn’t fully formed or your first PR isn’t perfect. The goal is to support a community where people feel comfortable exploring and contributing at their own pace.
✨ Thank you
Whether you contribute code, ideas, bug reports, documentation, or encouragement, we genuinely appreciate it. PiNetBeacon exists because people are curious, patient, and willing to share what they know.
Thanks for taking the time to help make this project better for everyone.