# RisingWave Developer Documentation

Welcome to an overview of the developer documentations of RisingWave!

## Developer Docs

To learn how to develop RisingWave, and access high-level design docs, see the [RisingWave Developer Guide](https://risingwavelabs.github.io/risingwave/).

## Crate Docs

Here are the rustdocs of the core crates in RisingWave. You can read them to understand the implementation details of RisingWave.

<!-- Not all crates are listed here. For example, binary crates and test crates are not included. -->

### Core Components

- **Frontend**
  - [risingwave_sqlparser](risingwave_sqlparser/index.html)
  - [risingwave_frontend](risingwave_frontend/index.html)
- **Meta**
  - [risingwave_meta](risingwave_meta/index.html)
- **Compute**
  - [risingwave_expr](risingwave_expr/index.html)
  - [risingwave_batch](risingwave_batch/index.html)
  - [risingwave_stream](risingwave_stream/index.html)
- **Storage**
  - [risingwave_storage](risingwave_storage/index.html)
  - [risingwave_hummock_sdk](risingwave_hummock_sdk/index.html)
  - [risingwave_object_store](risingwave_object_store/index.html)

### DML and Connectors (Source and Sink)

- [risingwave_dml](risingwave_dml/index.html)
- [risingwave_connector](risingwave_connector/index.html)

### Common

Common functionalities shared inside RisingWave.

- [risingwave_common](risingwave_common/index.html)
- [risingwave_common_service](risingwave_common_service/index.html)
- [risingwave_rpc_client](risingwave_rpc_client/index.html)
- [risingwave_pb](risingwave_pb/index.html): protobuf definitions generated by prost from `src/proto`
- [risingwave_rt](risingwave_rt/index.html)

### Utils

The crates under `src/utils` are several independent util crates which helps to simplify development. We plan to publish them to [crates.io](https://crates.io/) in future when they are more mature.

- [memcomparable](memcomparable/index.html)
- [pgwire](pgwire/index.html)
