Contributing documentation

One way to contribute to llmware is by contributing documentation.

There are two ways to contribute to the llmware documentation. The first is via docstrings in the code, and the second is the docs, which is what you are currently reading. In both areas, you can contribute in a lot of ways. Here is a non exhaustive list of these ways for the docstrings which also apply to the docs.

  1. Add documentation (e.g., adding a docstring to a function)
  2. Update documentation (e.g., update a docstring that is not in sync with the code)
  3. Simplify documentation (e.g., formulate a docstring more clearly)
  4. Enhance documentation (e.g., add more examples to a docstring or fix typos)

Docstrings

Docstrings document the code within the code, which allows programmers to easily have a look while they are programming. For an exmaple, have a look at this docstring which documents the LLMfx class.

We follow the docstring style of numpy, for which you can find an example here and here. Please be sure to follow the conventions and go over your pull request before you submit it.

Docs

All commands are executed from the docs sub-directory.

Contributing to this documentation is extremely important as many users will refer to it.

If you plan to contribute to the docs, we recommend that you locally install jekyll so you can test your changes locally. We also recommend, that you install jekyll into a a ruby enviroment so it does not interfere with any other installations you might have.

We recommend that you install rbenv and rvm to manage your ruby installation. rbenv is a tool that mangages different ruby versions, similar to what conda does for python. Please install rbenv following their instructions, and the same for install rvm. We recommend that you install a ruby version >=3.0. After having installed an isolated ruby version, you have to install the dependencies to build the docs locally. The docs directory has a Gemfile which specifies the dependencies. You can hence simply navigate to it and use the bundle install command.

bundle install

You should now be able to build and serve the documentation locally. To do this, simply to the following.

bundle exec jekyll server --livereload --verbose

In the browser of your choice, you can then go to http://127.0.0.1:4000/ and you will be served the documentation, which is re-build and re-loaded after any change to the docs. jekyll will create a _site directory where it saves the created files, please never commit any files from the _site directory!

Open Issues

If you’re interested in existing issues, you can

  • Look for issues with the good first issue and documentation label as a good place to get started.
  • 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.