Skip to main content

SurrealDB for developers

A quick-start guide for developers contributing to SurrealDB - explore the codebase, community, docs, and tools like Surrealist.

Lizzie Holmes avatar
Written by Lizzie Holmes
Updated over a week ago

Overview

The core of SurrealDB is written in Rust and can be viewed in its entirety at the /surrealdb repo on GitHub. Other repos for SurrealDB products are largely written in Rust such as the SurrealKV backend and SurrealML, though SurrealML contains a good deal of Python code. Surrealist, SurrealDB's graphical UI, is written entirely in TypeScript.


Community

The SurrealDB community page contains a number of places where you can interact with other users and developers. The Discord server is the most active location and is recommended if you want to discuss an issue with fellow users.


Making a PR to the SurrealDB source code

SurrealDB accepts PRs from the community. We have a blog post on making a PR to the SurrealDB source code that walks you through the exact steps even if you are not entirely familiar with Rust and its tooling.

While SurrealDB is open source, the activities and workload of each developer are not. Please keep in mind that any PR you submit may show up when core developers are working on other tasks and unable to review.


GitHub issues

Each GitHub issue for SurrealDB has a topic, making it easy to find all related issues for certain types of behaviour. Clicking on the the topic:schema issue for example will display all others with this label. Any issue may have more than one topic, such as topic:schema and topic:typing.


Documentation

The SurrealDB documentation at docs.surreald.com has its own repo which also accepts issues and PRs from the community. The front page contains instructions on how to build the docs locally using bun. This is the best practice when creating a documentation PR yourself, as PRs from the community will not automatically run a build to see if formatting, links, imports etc. are all done properly.


What to create?

If you'd like to create something for SurrealDB but aren't sure what, check out the SurrealDB Labs page for inspiration. There you can see a list of tools, repos, videos and more, many of which are created and maintained by community members. Links to the labs are kept on the docs.surrealdb.com repo. To contribute your own item, please see this page.

Did this answer your question?