Open architecture

Built in the open. Yours to shape.

Every line of RDB is public and Apache-2.0 licensed. Read the code, report a bug, or help decide what comes next.

Ways to help

Useful contribution starts close to the work.

Report what breaks

A clear reproduction in an issue is one of the most useful contributions there is.

Fix or build something

The contributing guide covers setup, code style, and the PR flow. Conventional commits drive the release automation.

Add a database

Engines are self-contained crates implementing one Driver trait. If you know an engine wire protocol or Rust client library, you can bring it to RDB.

Join the discussion

Questions and design ideas live in GitHub Discussions; direction is documented in the vision doc.

pub trait Driver: Send + Sync {
  async fn connect(config: &ConnConfig);
  async fn schema(&self);
  async fn query(&self, query: &Query);
  async fn close(self);
}

Crate map

Every engine has a place.

  • rdb the desktop app (Slint UI)
  • rdb-core Driver trait, Query, ResultSet, Schema
  • rdb-connstore saved connections, OS keychain, AES-GCM
  • rdb-driver-postgres PostgreSQL via tokio-postgres
  • rdb-driver-mysql MySQL/MariaDB via mysql_async
  • rdb-driver-redis Redis/Valkey via the redis crate
  • rdb-driver-mongo MongoDB via the mongodb crate
  • rdb-driver-sqlite SQLite via rusqlite
  • rdb-driver-cassandra Cassandra via scylla
  • rdb-driver-mssql SQL Server via tiberius
  • rdb-driver-oracle Oracle via oracledb
  • rdb-driver-clickhouse ClickHouse via HTTP (FORMAT JSON)

Local build

Run it from source.

$ git clone https://github.com/suiflex/rdb && cd rdb
$ make all # fmt-check + lint + test + build

Security reports go through the security policy, not public issues.