Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Contributing to BotWave

Thank you for your interest in contributing to **BotWave**!  
Contributions of all kinds are welcome, whether it’s code, documentation, bug reports, or suggestions.

Please take a moment to read this guide before contributing.


## Ways to Contribute

You can contribute by:
- Reporting bugs
- Suggesting new features or improvements
- Improving documentation
- Submitting pull requests
- Reviewing existing pull requests


## Reporting Bugs & Issues

If you encounter a bug or unexpected behavior, please open an issue in the  
[/issues](/issues) section.

When reporting an issue, try to include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Relevant logs, screenshots, or error messages
- Your environment (OS, version, setup, etc.)

**Security vulnerabilities should NOT be reported via issues.**  
Please refer to the `SECURITY.md` file for responsible disclosure instructions.


## Feature Requests

Feature requests are welcome!  
Before opening a new issue, please check if a similar request already exists.

When suggesting a feature:
- Explain the problem it solves
- Describe the proposed solution
- Mention any alternatives you’ve considered


## Pull Requests

We’re happy to review pull requests!

Before submitting a PR:
- Fork the repository and create a new branch
- Keep changes focused and relevant
- Follow the existing code style and structure
- Test your changes where applicable
- Update documentation if needed

When opening a pull request:
- Clearly describe what your PR does
- Reference related issues if applicable
- Be open to feedback and requested changes


## Code Style & Guidelines

- Keep code clean, readable, and well-organized (at least try to)
- Avoid unnecessary dependencies
- Comment complex or non-obvious logic
- Please type your python code. Avoid using the `typing` module if you can use a builtin type instead.

## Commit Messages

Even though we won't reject contributions that don't follow our commit formatting, we'd appreciate it if you followed this pattern when writing commits:

```
[<component>] <path>: <commit message>
```

The message is made up of 3 parts:

- **Component**: the specific part of the project affected by the change. Examples: `client`, `server`, `docs`, `workflows`, etc. If you can't find a specific enough component, you can use a generic term such as `project`.
- **Path**: the path within that component. To avoid long paths, you can omit the part that's already implied by the component. For example, if the component is `workflows`, you can simply write `wiki-mirror.yml` and we'll understand that the commit concerns `.github/workflows/wiki-mirror.yml`. If the commit affects multiple paths, you can use globbing, or separate them with commas. Examples: `ops/*.py`, `shared/tls.py, shared/http.py`.
- **Commit message**: a short message describing your changes.

### Examples

```
[server] ops/live.py: fix ALSA rate being wrongly sent
[client] client.py: better exception handling
[docs] README.md: update installation steps
[workflows] wiki-mirror.yml: ensure the new commit recommendation
[docs] client/client.md: updated cli documentation
```

## Community & Conduct

Be respectful and constructive in discussions.  
Harassment, hate speech, or hostile behavior will not be tolerated.


## Questions

If you’re unsure about anything, feel free to open an issue and ask.

Thanks for helping make **BotWave** better <3