> For the complete documentation index, see [llms.txt](https://docs.wellcomecollection.org/request-for-comments-rfcs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wellcomecollection.org/request-for-comments-rfcs/015-how_we_work/shared_libraries.md).

# Shared Libraries

## Why share?

The purpose of creating shared libraries is to:

* Increase development speed across projects where language and design patterns reoccur.
* Provide thorough testing for commonly reused code paths.
* Share optimisations where language and design patterns reoccur.

## Working with shared libraries

When adding functionality to existing libraries we:

* Add documentation as appropriate. See <https://docs.scala-lang.org/style/scaladoc.html>
* Release documentation should carry examples of API changes where they occur.
* Code reviews for shared libraries require approval from 2 developers one of whom is from a different project team.
