Contributing to Neonize¶
Thank you for your interest in contributing to Neonize! This guide will help you get started.
Code of Conduct¶
By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors.
How to Contribute¶
Reporting Bugs¶
- Check if the bug is already reported in Issues
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Python version, Neonize version)
- Code samples if applicable
Suggesting Features¶
- Check Discussions for similar ideas
- Create a new discussion explaining:
- The problem you're trying to solve
- Your proposed solution
- Why this would be useful
Contributing Code¶
1. Fork and Clone¶
2. Create a Branch¶
| Bash | |
|---|---|
Branch naming:
- feature/ - New features
- fix/ - Bug fixes
- docs/ - Documentation updates
- refactor/ - Code refactoring
3. Make Changes¶
- Write clean, readable code
- Follow existing code style
- Add tests for new features
- Update documentation
4. Test Your Changes¶
| Bash | |
|---|---|
5. Commit¶
Write clear commit messages:
| Bash | |
|---|---|
Commit message format:
- feat: - New feature
- fix: - Bug fix
- docs: - Documentation
- refactor: - Code refactoring
- test: - Adding tests
- chore: - Maintenance
6. Push and Create PR¶
| Bash | |
|---|---|
Then create a Pull Request on GitHub with: - Clear description of changes - Link to related issues - Screenshots if applicable
Development Guidelines¶
Code Style¶
We use: - Ruff for linting and formatting - Type hints for all functions - Docstrings in Sphinx style
Example:
Testing¶
- Write tests for new features
- Ensure existing tests pass
- Aim for good code coverage
Documentation¶
- Update docstrings
- Update relevant markdown files
- Add examples for new features
Project Structure¶
| Text Only | |
|---|---|
Communication¶
- Bugs & Features: GitHub Issues
- Questions & Discussions: GitHub Discussions
- Security Issues: Email maintainers privately
License¶
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.
Recognition¶
Contributors will be recognized in: - README.md - Release notes - Contributors page
Questions?¶
Feel free to ask questions in Discussions or open an issue.
Thank you for contributing to Neonize! 🎉