Contributing Guide
We welcome contributions to Whisper2Linux! This guide outlines the process for contributing to the project and helps you get started with development.
Getting Started
-
Fork the Repository:
- Visit the Whisper2Linux GitHub repository.
- Click the "Fork" button to create your own copy of the repository.
-
Clone Your Fork:
git clone https://github.com/your-username/whisper2linux.git
cd whisper2linux -
Set Up the Development Environment:
- Ensure you have Python 3.8+ installed.
- Install the required dependencies:
pip install -r requirements.txt
-
Create a New Branch:
git checkout -b feature/your-feature-name
Development Guidelines
-
Code Style:
- Follow PEP 8 guidelines for Python code style.
- Use meaningful variable and function names.
- Include docstrings for functions and classes.
-
Testing:
- Write unit tests for new features or bug fixes.
- Ensure all existing tests pass before submitting a pull request.
-
Documentation:
- Update the README.md file if your changes affect the user interface or setup process.
- Add inline comments for complex logic.
-
Commit Messages:
- Write clear, concise commit messages.
- Use the imperative mood (e.g., "Add feature" not "Added feature").
-
Keep Pull Requests Focused:
- Each pull request should address a single feature or bug fix.
- Break large changes into smaller, manageable pull requests.
Submitting a Pull Request
-
Push Your Changes:
git push origin feature/your-feature-name
-
Create a Pull Request:
- Go to the Whisper2Linux repository on GitHub.
- Click "New Pull Request" and select your branch.
- Fill out the pull request template with details about your changes.
-
Code Review:
- A project maintainer will review your pull request.
- Address any feedback or requested changes.
-
Continuous Integration:
- Ensure your changes pass all automated tests.
-
Merge:
- Once approved, a maintainer will merge your pull request.
Reporting Issues
- Use the GitHub issue tracker to report bugs or suggest features.
- Provide as much detail as possible, including steps to reproduce bugs.
Code of Conduct
- Be respectful and inclusive in your interactions with other contributors.
- Follow the project's code of conduct (if available).
Areas for Contribution
- Bug fixes
- Performance improvements
- New features
- Documentation improvements
- Test coverage expansion
Setting Up a Development Environment
-
Local API Services:
- For development, you may want to set up local instances of the required API services (Whisper, TTS, Ollama).
- Update the API endpoint URLs in the configuration to point to your local services.
-
Virtual Environment:
- Use a virtual environment to isolate your development dependencies:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Use a virtual environment to isolate your development dependencies:
-
IDE Setup:
- Configure your IDE to use the project's virtual environment.
- Set up linting (e.g., flake8) and formatting (e.g., black) tools in your IDE.
Continuous Integration
- The project uses GitHub Actions for continuous integration.
- Familiarize yourself with the CI workflow in
.github/workflows/
.
Release Process
- Releases are managed by project maintainers.
- Contributors can propose releases by creating a pull request with version updates.
Community
- Join our community chat (if available) to discuss development.
- Participate in project discussions on GitHub Issues and Pull Requests.
Recognition
- All contributors will be acknowledged in the project's CONTRIBUTORS.md file.
Thank you for contributing to Whisper2Linux! Your efforts help improve the project for everyone.