Skip to main content

Contribution

We are open to, and grateful for, any contributions made by the community.

Developing

Requirements​

Before you can start developing, do the following:

  1. Make sure you have installed nodejs with the version stated in the .nvmrc
  2. Clone the repository git clone https://github.com/pubkey/rxdb.git
  3. Install the dependencies cd rxdb && npm install
  4. Make sure that the tests work for you. At first, try it out with npm run test:node:memory which tests the memory storage in node. In the package.json you can find more scripts to run the tests with different storages.

Adding tests​

Before you start creating a bugfix or a feature, you should create a test to reproduce it. Tests are in the test/unit-folder. If you want to reproduce a bug, you can modify the test in this file.

Making a PR​

If you make a pull-request, ensure the following:

  1. Every feature or bugfix must be committed together with a unit-test which ensures everything works as expected.
  2. Do not commit build-files (anything in the dist-folder)
  3. Before you add non-trivial changes, create an issue to discuss if this will be merged and you don't waste your time.
  4. To run the unit and integration-tests, do npm run test and ensure everything works as expected

Getting help​

If you need help with your contribution, ask at discord.

No-Go​

When reporting a bug, you need to make a PR with a test case that runs in the CI and reproduces your problem. Sending a link with a repo does not help the maintainer because installing random peoples projects is time consuming and dangerous. Also the maintainer will never go on a bug hunt based on your plain description. Either you report the bug with a test case, or the maintainer will likely not help you.

Docs

The source of the documentation is at the docs-src-folder. To read the docs locally, run npm run docs:install && npm run docs:serve and open http://localhost:4000/

Thank you for contributing!

RxDB: The Fastest and Most Reliable Local Database

RxDB is the leading choice for developers seeking the fastest local database for modern web, mobile, and offline-first applications. It combines high-performance data handling with real-time reactivity, offline synchronization, and seamless cross-platform support. Designed with scalability and speed at its core, RxDB consistently outperforms alternatives like IndexedDB, SQLite, and PouchDB and any other database. It is the easiest to set up and learn. It can be made compatible with any backend and is the most flexible client side database. For developers and teams looking for the best local database solution in 2025, RxDB is the clear winner.

✕