Thank you for your interest in contributing! This document provides guidelines for contributing to this project.
If you find a bug or have a suggestion:
- Check if the issue already exists in Issues
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Your system information:
- Bazzite version
- distrobox version
- Output of
cat /etc/os-release
We welcome suggestions for new features! Please:
- Open an issue with the "enhancement" label
- Describe the feature and its use case
- Explain why it would be useful to users
-
Fork the repository
git clone https://github.com/your-username/bazzite-node-setup.git cd bazzite-node-setup -
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow the existing code style
- Add comments for complex logic
- Update documentation if needed
-
Test your changes
# Test the setup script ./setup-dev-container.sh # Run the test suite ./test-setup.sh # Verify documentation
-
Commit your changes
git add . git commit -m "Add feature: description of your changes"
-
Push to your fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Provide a clear description of the changes
- Reference any related issues
- Include test results
- Use consistent indentation (4 spaces for bash scripts)
- Add comments for non-obvious logic
- Use descriptive variable names
- Follow existing naming conventions
- Always use
set -euo pipefailat the start - Quote variables:
"$variable" - Use
readonlyfor constants - Provide clear error messages
- Add help text with
--helpflag
- Update README.md for major changes
- Update USER_GUIDE.md for new features
- Add troubleshooting entries for common issues
- Keep QUICK_START.md concise
Before submitting a PR:
- Test on a clean Bazzite installation if possible
- Run
./test-setup.shand ensure all tests pass - Test edge cases (missing dependencies, network issues, etc.)
- Verify documentation is accurate
We especially welcome contributions in these areas:
- Additional package manager support
- More comprehensive error handling
- Performance optimizations
- Better progress indicators
- Automatic update mechanism
- More examples in USER_GUIDE.md
- Video tutorials
- Translations to other languages
- FAQ section
- Additional test cases
- CI/CD integration
- Automated testing on different systems
- Support for other development tools (Python, Ruby, etc.)
- GUI installer option
- Configuration profiles for different use cases
- Integration with IDEs (VS Code, etc.)
- Maintainers will review your PR within a few days
- You may be asked to make changes
- Once approved, your PR will be merged
- Your contribution will be acknowledged in the changelog
All contributors will be:
- Listed in the CONTRIBUTORS file
- Mentioned in release notes
- Credited in the project README
If you have questions:
- Open an issue with the "question" label
- Join our community discussions
- Reach out to maintainers
We are committed to providing a welcoming and inclusive environment for everyone.
- Be respectful and considerate
- Accept constructive criticism gracefully
- Focus on what's best for the community
- Show empathy towards others
- Harassment or discrimination
- Trolling or insulting comments
- Public or private harassment
- Publishing others' private information
Violations may result in temporary or permanent ban from the project.
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for making Bazzite Node Setup better! 🚀