# Contributing to Pwnagotchi Pi Zero 2 W Guide Thank you for your interest in contributing! 🎉 This guide is the result of systematic troubleshooting and comprehensive documentation. We welcome contributions that maintain this standard of quality. --- ## 🤝 How to Contribute ### Reporting Issues **Before opening an issue:** 1. Search existing issues (including closed ones) 2. Try the troubleshooting guide 3. Test on a clean installation if possible **When reporting bugs:** - Use the issue template (if available) - Include full error messages - Provide system information (OS, kernel, hardware) - Describe steps to reproduce - Include what you've already tried **Example good bug report:** ``` Title: Monitor mode not working after reboot Hardware: Pi Zero 2 W Kernel: 6.12.62+rpt-rpi-v8 OS: Debian Trixie Description: After rebooting the Pi, mon0 interface doesn't get created. USB is disconnected. Nexmon appears to load (checked dmesg). Steps to reproduce: 1. Fresh install following BUILD-GUIDE.md 2. Verify mon0 works initially 3. Reboot 4. mon0 not present Already tried: - Checking USB is disconnected - Verifying Nexmon firmware is present - Checking systemd logs Logs: [paste relevant logs here] ``` --- ### Suggesting Enhancements We welcome suggestions for: - Improved documentation clarity - Additional hardware compatibility - New features or workflows - Better troubleshooting steps **Good enhancement requests include:** - Clear description of the problem/need - Proposed solution - Why this would help others - Any implementation details --- ### Contributing Code/Documentation #### Documentation Improvements **We especially welcome:** - Clarifications for confusing steps - Additional examples - Better explanations - Corrections for errors - New hardware compatibility info - Alternative methods that work **Guidelines:** - Keep the same friendly, clear tone - Use emoji sparingly but appropriately - Include code blocks with proper syntax highlighting - Test all commands/procedures before submitting - Maintain the "written for someone forgetful" approach #### Code Contributions **For scripts and utilities:** - Follow existing code style - Add comments explaining non-obvious parts - Test thoroughly on Pi Zero 2 W - Document any dependencies - Include usage examples #### Pull Request Process 1. **Fork the repository** 2. **Create a branch:** ```bash git checkout -b feature/your-feature-name ``` 3. **Make your changes:** - Follow existing structure and style - Test everything thoroughly - Update relevant documentation 4. **Commit with clear messages:** ```bash git commit -m "Add: Clear description of what you changed" ``` **Good commit messages:** - `Fix: Correct Nexmon build commands for kernel 6.12.65` - `Add: Hardware compatibility info for WaveShare 4" display` - `Improve: Clarify USB gadget conflict in BUILD-GUIDE.md` - `Docs: Fix typo in TROUBLESHOOTING.md` 5. **Push to your fork:** ```bash git push origin feature/your-feature-name ``` 6. **Open a Pull Request** - Clear title describing the change - Reference any related issues - Describe what you changed and why - Include testing details --- ## 📝 Documentation Standards ### Writing Style - **Clear and concise** - No unnecessary jargon - **Step-by-step** - Assume reader is following along - **Tested procedures** - Every command should be verified - **Helpful warnings** - Use ⚠️ for critical information - **Checkpoints** - Include ✅ validation steps ### Formatting **Use consistent markdown:** ```markdown ### Section Heading **Bold for emphasis** on important concepts `Code formatting` for commands and filenames ```bash # Code blocks with syntax highlighting command --with-flags ``` - Bullet lists for options - Numbered lists for sequences > **Note:** Information boxes for tips ⚠️ **Warning:** Critical information ✅ **Success:** Validation checkpoints ``` **File paths:** - Use absolute paths: `/etc/pwnagotchi/config.toml` - Not: `config.toml` **Commands:** - Show full commands: `sudo systemctl restart pwnagotchi` - Not: `restart the service` --- ## 🧪 Testing Requirements **Before submitting:** 1. **Test on clean installation** - Fresh Raspberry Pi OS Lite - Follow your modified procedure - Document any issues 2. **Verify all commands work** - No typos - Correct syntax - Expected output matches 3. **Check documentation renders correctly** - Preview markdown locally - Verify links work - Check formatting 4. **Test edge cases** - What if command fails? - What if file doesn't exist? - Include error handling --- ## 🎯 Priority Areas We especially need help with: 1. **Hardware Testing** - Testing on different Pi models (Pi 3/4/5) - Different display compatibility - Other WiFi chipsets 2. **Documentation Improvements** - Simpler explanations - More examples - Better troubleshooting 3. **Alternative Methods** - Different build approaches - Performance optimizations - Plugin examples 4. **Internationalization** - Translations - Region-specific notes --- ## ❌ What We Don't Accept - Incomplete or untested changes - Breaking existing functionality - Removing safety warnings - Encouraging illegal activity - Poorly documented code - Plagiarized content --- ## 📜 Code of Conduct ### Our Standards - **Be respectful** - Different skill levels, be patient - **Be constructive** - Criticism should be helpful - **Be collaborative** - Work together to solve problems - **Be inclusive** - Welcome all contributors - **Assume good faith** - People are trying to help ### Unacceptable Behavior - Harassment or discriminatory language - Personal attacks - Trolling or deliberately unhelpful responses - Spam or off-topic discussions - Sharing others' private information --- ## 📞 Questions? - **Documentation questions:** Open a Discussion - **Bug reports:** Open an Issue - **Feature requests:** Open an Issue with [FEATURE] tag - **Security issues:** Email privately (don't open public issue!) --- ## 🏆 Recognition Contributors will be: - Listed in a CONTRIBUTORS.md file - Credited in relevant documentation - Thanked in release notes We value all contributions, big or small! 💪 --- ## 📚 Resources - [BUILD-GUIDE.md](docs/BUILD-GUIDE.md) - Full build procedure - [TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) - Known issues - [QUICK-REFERENCE.md](docs/QUICK-REFERENCE.md) - Command reference --- <p align="center"> <strong>Thank you for helping make this guide better! 🎉</strong><br> <em>Every contribution helps someone build their Pwnagotchi successfully!</em> </p>
SpiritualCreations42
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.