Spaces:
Sleeping
Sleeping
<!--- | |
Copyright 2025 The HuggingFace Team. All rights reserved. | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
# Contribute to smolagents | |
Everyone is welcome to contribute, and we value everybody's contribution. Code | |
contributions are not the only way to help the community. Answering questions, helping | |
others, and improving the documentation are also immensely valuable. | |
It also helps us if you spread the word! Reference the library in blog posts | |
about the awesome projects it made possible, shout out on Twitter every time it has | |
helped you, or simply ⭐️ the repository to say thank you. | |
However you choose to contribute, please be mindful and respect our | |
[code of conduct](https://github.com/huggingface/smolagents/blob/main/CODE_OF_CONDUCT.md). | |
**This guide was heavily inspired by the awesome [scikit-learn guide to contributing](https://github.com/scikit-learn/scikit-learn/blob/main/CONTRIBUTING.md).** | |
## Ways to contribute | |
There are several ways you can contribute to smolagents. | |
* Submit issues related to bugs or desired new features. | |
* Contribute to the examples or to the documentation. | |
* Fix outstanding issues with the existing code. | |
> All contributions are equally valuable to the community. 🥰 | |
## Submitting a bug-related issue or feature request | |
At any moment, feel welcome to open an issue, citing your exact error traces and package versions if it's a bug. | |
It's often even better to open a PR with your proposed fixes/changes! | |
Do your best to follow these guidelines when submitting a bug-related issue or a feature | |
request. It will make it easier for us to come back to you quickly and with good | |
feedback. | |
### Did you find a bug? | |
The smolagents library is robust and reliable thanks to users who report the problems they encounter. | |
Before you report an issue, we would really appreciate it if you could **make sure the bug was not | |
already reported** (use the search bar on GitHub under Issues). Your issue should also be related to bugs in the | |
library itself, and not your code. | |
Once you've confirmed the bug hasn't already been reported, please include the following information in your issue so | |
we can quickly resolve it: | |
* Your **OS type and version**, as well as your environment versions (versions of rust, python, and dependencies). | |
* A short, self-contained, code snippet that allows us to reproduce the bug. | |
* The *full* traceback if an exception is raised. | |
* Attach any other additional information, like screenshots, you think may help. | |
### Do you want a new feature? | |
If there is a new feature you'd like to see in smolagents, please open an issue and describe: | |
1. What is the *motivation* behind this feature? Is it related to a problem or frustration with the library? Is it | |
a feature related to something you need for a project? Is it something you worked on and think it could benefit | |
the community? | |
Whatever it is, we'd love to hear about it! | |
2. Describe your requested feature in as much detail as possible. The more you can tell us about it, the better | |
we'll be able to help you. | |
3. Provide a *code snippet* that demonstrates the feature's usage. | |
4. If the feature is related to a paper, please include a link. | |
If your issue is well written we're already 80% of the way there by the time you create it. | |
## Do you want to add documentation? | |
We're always looking for improvements to the documentation that make it more clear and accurate. Please let us know | |
how the documentation can be improved such as typos and any content that is missing, unclear or inaccurate. We'll be | |
happy to make the changes or help you make a contribution if you're interested! | |
## Fixing outstanding issues | |
If you notice an issue with the existing code and have a fix in mind, feel free to [start contributing](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) and open | |
a Pull Request! | |
### Making code changes | |
To install dev dependencies, run: | |
``` | |
pip install -e ".[dev]" | |
``` | |
When making changes to the codebase, please check that it follows the repo's code quality requirements by running: | |
To check code quality of the source code: | |
``` | |
make quality | |
``` | |
If the checks fail, you can run the formatter with: | |
``` | |
make style | |
``` | |
And commit the changes. | |
To run tests locally, run this command: | |
```bash | |
make test | |
``` | |
</details> | |
## I want to become a maintainer of the project. How do I get there? | |
smolagents is a project led and managed by Hugging Face. We are more than | |
happy to have motivated individuals from other organizations join us as maintainers with the goal of helping smolagents | |
make a dent in the world of Agents. | |
If you are such an individual (or organization), please reach out to us and let's collaborate. | |