Thank you for your interest in contributing to DiffuGen! This document provides guidelines and instructions for contributing to this project.
- Code of Conduct
- Getting Started
- How to Contribute
- Development Setup
- Coding Standards
- Testing
- Documentation
- Community
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to sysop@cloudwerx.dev.
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment as described in the Development Setup section
- Create a branch for your changes
- Make your changes
- Submit a pull request
If you find a bug in the project, please create an issue on GitHub with the following information:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Screenshots or logs if applicable
- Environment information (OS, Python version, etc.)
If you have an idea for an enhancement, please create an issue on GitHub with the following information:
- A clear, descriptive title
- A detailed description of the enhancement
- The motivation behind the enhancement
- Any potential implementation details
- Any potential drawbacks or challenges
- Update the README.md with details of changes if applicable
- Update the documentation if applicable
- The PR should work on all supported platforms
- Ensure all tests pass
- Follow the coding standards
-
Clone the repository:
git clone https://github.com/CLOUDWERX-DEV/diffugen.git cd DiffuGen -
Create and activate a virtual environment:
python -m venv diffugen_env source diffugen_env/bin/activate # On Windows: venv\Scripts\activate
-
Install development dependencies:
pip install -r requirements.txt
-
Set up pre-commit hooks:
pre-commit install
- Follow PEP 8 style guide for Python code
- Use meaningful variable and function names
- Write docstrings for all functions, classes, and modules
- Keep functions small and focused on a single task
- Use type hints where appropriate
- Comment complex code sections
- Write tests for all new features and bug fixes
- Ensure all tests pass before submitting a pull request
- Run tests using pytest:
pytest
- Update documentation for all new features and changes
- Follow the existing documentation style
- Use clear, concise language
- Include examples where appropriate
- Join our Discord server for discussions
- Follow us on X for updates
- Subscribe to our newsletter for major announcements
Thank you for contributing to DiffuGen!