Contributing to Fish Audio
First off, thanks for taking the time to contribute! All types of contributions are encouraged and valued. See the sections below for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions.If you like the project but don’t have time to contribute, there are other easy ways to support Fish Audio:
- Star our repositories
- Tweet about it
- Reference Fish Audio in your project’s readme
- Mention the project at local meetups and tell your friends/colleagues
Code of Conduct
This project and everyone participating in it is governed by the Fish Audio Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to our community team.I Have a Question
Before you ask a question, please read the available Documentation. It’s best to search for existing Issues that might help you. In case you have found a suitable issue and still need clarification, you can write your question in that issue. It is also advisable to search the internet for answers first. If you still need to ask a question:- Open an Issue in the relevant repository
- Provide as much context as you can about what you’re running into
- Provide project and platform versions (Node.js, Python, OS, etc.), depending on what seems relevant
I Want To Contribute
Reporting Bugs
Before Submitting a Bug Report
A good bug report shouldn’t leave others needing to chase you up for more information. Please investigate carefully, collect information, and describe the issue in detail:- Make sure you are using the latest version
- Determine if your bug is really a bug and not an error on your side (e.g., incompatible environment components/versions)
- Check if there is already a bug report for your issue in the bug tracker
- Search the internet (including Stack Overflow) to see if others have discussed the issue
- Collect information about the bug:
- Stack trace (Traceback)
- OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
- Version of the interpreter, compiler, SDK, runtime environment, package manager
- Your input and the output
- Can you reliably reproduce the issue? Can you reproduce it with older versions?
How Do I Submit a Good Bug Report?
We use GitHub issues to track bugs and errors. If you run into an issue:- Open an Issue in the relevant repository
- Explain the behavior you would expect and the actual behavior
- Provide as much context as possible and describe the reproduction steps that someone else can follow to recreate the issue on their own
- Provide the information you collected in the previous section
- The project team will label the issue accordingly
- A team member will try to reproduce the issue with your provided steps
- If there are no reproduction steps, the team will ask for them and mark the issue as
needs-repro - If the team reproduces the issue, it will be marked
needs-fixand left to be implemented
Suggesting Enhancements
This section guides you through submitting an enhancement suggestion for Fish Audio, including completely new features and minor improvements to existing functionality.Before Submitting an Enhancement
- Make sure you are using the latest version
- Read the documentation carefully to see if the functionality already exists
- Perform a search to see if the enhancement has already been suggested
- Consider whether your idea fits with the scope and aims of the project
How Do I Submit a Good Enhancement Suggestion?
Enhancement suggestions are tracked as GitHub issues:- Use a clear and descriptive title for the issue
- Provide a step-by-step description of the suggested enhancement in as many details as possible
- Describe the current behavior and explain which behavior you expected to see instead and why
- Include screenshots or screen recordings if applicable
- Explain why this enhancement would be useful to most Fish Audio users
Your First Code Contribution
We welcome first-time contributors! Here’s how to get started:- Fork the repository you want to contribute to
- Clone your fork locally
- Create a new branch for your changes
- Make your changes following our styleguides
- Test your changes thoroughly
- Commit your changes with clear commit messages
- Push to your fork and submit a pull request
Improving The Documentation
Documentation improvements are always welcome! This includes:- Fixing typos and grammatical errors
- Adding missing information or clarifications
- Improving code examples
- Adding new guides or tutorials
- Translating documentation
Styleguides
Commit Messages
- Use clear and meaningful commit messages
- Start with a verb in the present tense (e.g., “Add”, “Fix”, “Update”, “Remove”)
- Keep the first line under 72 characters
- Reference issues and pull requests when relevant
- Provide additional context in the commit body if needed
Code Style
- Follow the existing code style in each repository
- Use meaningful variable and function names
- Add comments for complex logic
- Write tests for new features
- Ensure all tests pass before submitting

