Skip to main content

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​

  1. Fork the Repository:

    • Visit the Whisper2Linux GitHub repository.
    • Click the "Fork" button to create your own copy of the repository.
  2. Clone Your Fork:

    git clone https://github.com/your-username/whisper2linux.git
    cd whisper2linux
  3. Set Up the Development Environment:

    • Ensure you have Python 3.8+ installed.
    • Install the required dependencies:
      pip install -r requirements.txt
  4. Create a New Branch:

    git checkout -b feature/your-feature-name

Development Guidelines​

  1. Code Style:

    • Follow PEP 8 guidelines for Python code style.
    • Use meaningful variable and function names.
    • Include docstrings for functions and classes.
  2. Testing:

    • Write unit tests for new features or bug fixes.
    • Ensure all existing tests pass before submitting a pull request.
  3. Documentation:

    • Update the README.md file if your changes affect the user interface or setup process.
    • Add inline comments for complex logic.
  4. Commit Messages:

    • Write clear, concise commit messages.
    • Use the imperative mood (e.g., "Add feature" not "Added feature").
  5. 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​

  1. Push Your Changes:

    git push origin feature/your-feature-name
  2. 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.
  3. Code Review:

    • A project maintainer will review your pull request.
    • Address any feedback or requested changes.
  4. Continuous Integration:

    • Ensure your changes pass all automated tests.
  5. 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​

  1. 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.
  2. Virtual Environment:

    • Use a virtual environment to isolate your development dependencies:
      python -m venv venv
      source venv/bin/activate # On Windows: venv\Scripts\activate
  3. 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.