| 1 | # ❤️ Contributing
|
| 2 |
|
| 3 | We happily accept contributions!
|
| 4 |
|
| 5 | ## Areas of help
|
| 6 |
|
| 7 | - Documentation, examples, tutorials, etc. In particular, we're looking for
|
| 8 | - examples of how this library is used in the wild
|
| 9 | - additional examples for the [cookbook](advanced/cookbook.md)
|
| 10 | - Support for more models (anything where `litellm` doesn't work out of the box)
|
| 11 | - Support for more environments & deployments (e.g., run it as a github action, etc.)
|
| 12 | - Take a look at the [issues](https://github.com/SWE-agent/mini-swe-agent/issues) and look for issues marked `good-first-issue` or `help-wanted` (please read the guidelines below first)
|
| 13 |
|
| 14 | ## Design & Architecture
|
| 15 |
|
| 16 | - `mini-swe-agent` aims to stay minimalistic, hackable, and of high quality code.
|
| 17 | - To extend features, we prefer to add a new version of the one of the four components (see [cookbook](advanced/cookbook.md)), rather than making the existing components more complex.
|
| 18 | - Components should be relatively self-contained, but if there are utilities that might be shared, add a `utils` folder (like [this one](https://github.com/SWE-agent/mini-swe-agent/tree/main/src/minisweagent/models/utils)). But keep it simple!
|
| 19 | - If your component is a bit more specific, add it into an `extra` folder (like [this one](https://github.com/SWE-agent/mini-swe-agent/tree/main/src/minisweagent/run/extra))
|
| 20 | - Our target audience is anyone who doesn't shy away from modifying a bit of code (especially a run script) to get what they want.
|
| 21 | - Therefore, not everything needs to be configurable with the config files, but it should be easy to create a run script that makes use of it.
|
| 22 | - Many LMs write very verbose code -- please clean it up! Same goes for the tests. They should still be concise and readable.
|
| 23 | - Please install `pre-commit` (`pip install pre-commit && pre-commit install`) and run it before committing. This will enforce our style guide.
|
| 24 |
|
| 25 | ## Development setup
|
| 26 |
|
| 27 | Make sure to follow the dev setup instructions in [quickstart.md](quickstart.md).
|
| 28 |
|
| 29 | After that you can run `pytest` with `pytest -n auto` (this parallelizes the tests across all cores for speedup).
|
| 30 |
|
| 31 | {% include-markdown "_footer.md" %}
|
| 32 |
|