Contributing to llmware

The contributions to llmware are governed by our Code of Conduct.

Have you found a security issue? Then please jump to Security Vulnerabilities.

On this page, we provide information llmware contributions. There are two ways on how you can contribute. The first is by making code contributions, and the second by making contributions to the documentation. Please look at our contribution suggestions if you need inspiration, or take a look at open issues.

Contributions to llmware are welcome from everyone. Our goal is to make the process simple, transparent, and straightforward. We are happy to receive suggestions on how the process can be improved.

How can you contribute?

If you have never contributed before look for issues with the tag good first issue.

The most usual ways to contribute is to add new features, fix bugs, add tests, or add documentation. You can visit the issues site of the project and search for tags such as bug, enhancement, documentation, or test.

Here is a non exhaustive list of contributions you can make.

  1. Code refactoring
  2. Add new text data bases
  3. Add new vector data bases
  4. Fix bugs
  5. Add usage examples (see for example the issues jupyter notebook - more examples and better support and google colab examples and start up scripts)
  6. Add experimental features
  7. Improve code quality
  8. Improve documentation in the docs (what you are reading right now)
  9. Improve documentation by adding or updating docstrings in modules, classes, methods, or functions (see for example Add docstrings)
  10. Improve test coverage
  11. Answer questions in our Discord channel, especially in the technical support forum
  12. Post projects in which you use llmware in our Discord forum made with llmware, ideially with a link to a public GitHub repository

Open Issues

If you’re interested in existing issues, you can

  • Look for issues, if you are a new to the project, look for issues with the good first issue label.
  • Provide answers for questions in our GitHub discussions
  • Provide help for bug or enhancement issues.
    • Ask questions, reproduce the issues, or provide solutions.
    • Pull a request to fix the issue.

Security Vulnerabilities

If you believe you’ve found a security vulnerability, then please do not submit an issue ticket or pull request or otherwise publicly disclose the issue. Please follow the process at Reporting a Vulnerability

GitHub workflow

We follow the fork-and-pull Git workflow.

  1. Fork the repository on GitHub.
  2. Clone your fork to your local machine with git clone git@github.com:<yourname>/llmware.git.
  3. Create a branch with git checkout -b my-topic-branch.
  4. Run the test suite by navigating to the tests/ folder and running ./run-tests.py -s to ensure there are no failures
  5. Commit changes to your own branch, then push to GitHub with git push origin my-topic-branch.
  6. Submit a pull request so that we can review your changes.

Remember to synchronize your forked repository before submitting proposed changes upstream. If you have an existing local repository, please update it before you start, to minimize the chance of merge conflicts.

git remote add upstream git@github.com:llmware-ai/llmware.git
git fetch upstream
git checkout upstream/main -b my-topic-branch

Community

Questions and discussions are welcome in any shape or form. Please fell free to join our community on our discord channel, on which we are active daily. You are also welcome if you just want to post an idea!


Table of contents