First off, thank you for considering contributing to DragonNPU! We're building the future of AI acceleration on Linux, and every contribution helps.
- Check if the bug has already been reported in Issues
- Create a detailed bug report including:
- NPU hardware (vendor, model)
- Linux kernel version
- Python version
- Steps to reproduce
- Expected vs actual behavior
- Open an issue with the
enhancementlabel - Describe the feature and its use case
- Explain how it benefits NPU acceleration
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
python3 -m pytest tests/) - Commit with descriptive message
- Push to your fork
- Open a Pull Request
# Clone repository
git clone https://github.com/dragonfire/dragon-npu.git
cd dragon-npu
# Install in development mode
pip install -e ".[dev]"
# Run tests
python3 -m pytest tests/
# Run benchmarks
python3 dragon_npu_cli.py benchmark- Follow PEP 8
- Use type hints where possible
- Add docstrings to all functions/classes
- Keep functions focused and small
- Comment complex NPU-specific logic
- Write tests for new features
- Ensure all tests pass before submitting PR
- Include performance benchmarks for NPU operations
- Update README.md for user-facing changes
- Add docstrings for new APIs
- Include examples for new features
We especially welcome contributions in:
- Support for new NPU vendors (Intel VPU, Qualcomm, etc.)
- Model optimization techniques
- Performance improvements
- Documentation and examples
- Cross-platform compatibility
- Be respectful and inclusive
- Welcome newcomers
- Focus on constructive feedback
- Celebrate the pioneering spirit of open-source NPU development
- GitHub Issues: Issues
- Discussions: Discussions
Contributors will be recognized in:
- README.md contributors section
- Release notes
- The eternal gratitude of the Linux AI community!
Together, we're democratizing AI acceleration! 🐉🔥