Improve contributing docs [skip ci]

Also improved formatting of the readme
next
Sayan Nandan 8 months ago
parent 4ec3874d29
commit e65165ded3
No known key found for this signature in database
GPG Key ID: 0EBD769024B24F0A

@ -34,7 +34,9 @@ In other cases, use the C style.
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use crate::something; use crate::something;
``` ```
this mode of styling is preferred: this mode of styling is preferred:
```rust ```rust
use { use {
devtimer::{SimpleTimer, ComplexTimer}, devtimer::{SimpleTimer, ComplexTimer},
@ -47,25 +49,27 @@ In other cases, use the C style.
The main parts (ignorning CI scripts, stress test suite, test harness and custom compiler macros) are: The main parts (ignorning CI scripts, stress test suite, test harness and custom compiler macros) are:
- `cli`: REPL shell - `cli`: interactive shell `skysh`
- `server`: database server - `server`: server daemon `skyd`
- `sky-bench`: benchmark tool - `sky-bench`: benchmark tool
The `pkg` folder contains scripts used to build packages for different targets. The `examples` folder
contains example configuration files.
### Branches ### Branches
The `next` branch is the _kind of_ stable branch which contains the latest changes. However, for most purposes, you should always download sources from the tags. The `next` branch is the _kind of_ stable branch which contains the latest changes. However, for most purposes, you should always download sources from the tags.
Pushes are made directly Pushes are made directly to next if they don't change things significantly; for example, changes in
to next if they don't change things significantly; for example, changes in documentation comments and general optimizations. If documentation comments and general optimizations. If however the changes are huge, then they must be created
however the changes are huge, then they must be created on a separate branch, a pull request opened, the CI suite run and on a separate branch, a pull request opened, the CI suite run and finally merged into next.
finally merged into next.
## Pull request guidelines ## Pull request guidelines
### Typo correction or doc updates ### Typo correction or doc updates
The creation of superflous merge requests is generally discouraged. Such examples include the creation of multiple The creation of superflous merge requests is generally discouraged. Such examples include the creation of
PRs to correct single typos, update comments or update docs. multiple PRs to correct single typos, update comments or update docs.
It would be far better if you could fix a considerable subset (if not all) of these issues in one pull request (it's fine to create multiple commits in the same PR). It would be far better if you could fix a considerable subset (if not all) of these issues in one pull request (it's fine to create multiple commits in the same PR).
This is because we don't want to utilize compute capacity or multiply our git history for changes This is because we don't want to utilize compute capacity or multiply our git history for changes
@ -87,6 +91,9 @@ Skytable uses a Makefile for builds and running the test suite along with a numb
1. Install the latest Rust toolchain (stable) 1. Install the latest Rust toolchain (stable)
2. Install a C Compiler, Make, Perl and the libssl-dev package on platforms where they are required 2. Install a C Compiler, Make, Perl and the libssl-dev package on platforms where they are required
3. On Windows:
- You might need to perform additional steps to add `perl` to our `PATH` variable
- You may also need to set up powershell if it isn't set up already as it is used by the test script
**Building** **Building**

@ -1,18 +1,10 @@
<br/><p align="center"> # Skytable <img align="right" src="assets/logo.jpg" height="128" width="128" alt="Skytable Logo"/>
<a href="https://skytable.io"><img width="150" src="assets/logo.jpg"></a> A modern NoSQL database, powered by BlueQL.<br/>
</p> <p>
<h2 align = "center">
Skytable — A modern database for building powerful experiences
</h2>
<h3 align="center">
Performance, scalability, and flexibility. Choose three.
</h3>
</p>
<p align="center">
<a href="https://github.com/skytable/skytable/releases"><img src="https://img.shields.io/github/v/release/skytable/skytable?style=flat" alt="GitHub release (with filter)"></a> <a href="https://github.com/skytable/skytable/actions"><img src="https://img.shields.io/github/actions/workflow/status/skytable/skytable/test-push.yml?style=flat" alt="GitHub Workflow Status (with event)"></a> <a href="https://discord.gg/QptWFdx"><img src="https://img.shields.io/discord/729378001023926282?logo=discord&style=flat" alt="Discord"></a> <a href="https://docs.skytable.io"><img src="https://img.shields.io/badge/read%20the%20docs-here-blue?style=flat" alt="Docs"></a> <a href="https://github.com/skytable/skytable/discussions?style=flat"><img src="https://img.shields.io/badge/discuss-here-8A3324?style=flat&logo=github&labelColor=C34723" alt="Static Badge"></a> <a href="https://github.com/skytable/skytable/releases"><img src="https://img.shields.io/github/v/release/skytable/skytable?style=flat" alt="GitHub release (with filter)"></a> <a href="https://github.com/skytable/skytable/actions"><img src="https://img.shields.io/github/actions/workflow/status/skytable/skytable/test-push.yml?style=flat" alt="GitHub Workflow Status (with event)"></a> <a href="https://discord.gg/QptWFdx"><img src="https://img.shields.io/discord/729378001023926282?logo=discord&style=flat" alt="Discord"></a> <a href="https://docs.skytable.io"><img src="https://img.shields.io/badge/read%20the%20docs-here-blue?style=flat" alt="Docs"></a> <a href="https://github.com/skytable/skytable/discussions?style=flat"><img src="https://img.shields.io/badge/discuss-here-8A3324?style=flat&logo=github&labelColor=C34723" alt="Static Badge"></a>
</p> </p>
## 💡 What is Skytable? ## What is Skytable?
Skytable is a **modern NoSQL database** that focuses on **performance, flexibility and scalability**. Skytable Skytable is a **modern NoSQL database** that focuses on **performance, flexibility and scalability**. Skytable
is a primarily in-memory, wide-column based database with support for additional data models<sup>*</sup> that is a primarily in-memory, wide-column based database with support for additional data models<sup>*</sup> that
@ -25,7 +17,7 @@ latencies.
> **You can read more about Skytable's architecture, including information on the clustering and HA implementation that we're currently working on, and limitations [on this page](https://docs.skytable.io/architecture).** > **You can read more about Skytable's architecture, including information on the clustering and HA implementation that we're currently working on, and limitations [on this page](https://docs.skytable.io/architecture).**
## 🎨 Features ## Features
- **Spaces, models and more**: For flexible data definition - **Spaces, models and more**: For flexible data definition
- **Powerful querying with BlueQL**: A modern query language based on SQL - **Powerful querying with BlueQL**: A modern query language based on SQL
@ -36,7 +28,7 @@ latencies.
> Learn more about [Skytable's features here](https://docs.skytable.io). > Learn more about [Skytable's features here](https://docs.skytable.io).
## 🚀 Getting started ## Getting started
1. **Set up Skytable on your machine**: You'll need to download a bundled release file [from the releases page](https://github.com/skytable/skytable/releases). Unzip the files and you're ready to go. 1. **Set up Skytable on your machine**: You'll need to download a bundled release file [from the releases page](https://github.com/skytable/skytable/releases). Unzip the files and you're ready to go.
2. Start the database server: `./skyd --auth-root-password <password>` with your choice of a password for the `root` account. The `root` account is just like a `root` account on Unix based systems that has control over everything. 2. Start the database server: `./skyd --auth-root-password <password>` with your choice of a password for the `root` account. The `root` account is just like a `root` account on Unix based systems that has control over everything.
@ -46,7 +38,7 @@ latencies.
> **For a more detailed guide on installation and deployment, [follow the guide here.](https://docs.skytable.io/installation)** > **For a more detailed guide on installation and deployment, [follow the guide here.](https://docs.skytable.io/installation)**
## Using Skytable ## Using Skytable
Skytable has `SPACE`s instead of `DATABASE`s due to signficant operational differences (and because `SPACE`s store a lot more than tabular data). Skytable has `SPACE`s instead of `DATABASE`s due to signficant operational differences (and because `SPACE`s store a lot more than tabular data).
@ -87,7 +79,7 @@ Skytable has `SPACE`s instead of `DATABASE`s due to signficant operational diffe
> >
> While you're seeing strings and other values being used here, this is so because the REPL client smartly parameterizes queries behind the scenes. **BlueQL has mandatory parameterization**. (See below to see how the Rust client handles this) > While you're seeing strings and other values being used here, this is so because the REPL client smartly parameterizes queries behind the scenes. **BlueQL has mandatory parameterization**. (See below to see how the Rust client handles this)
## 🧩 Find a client driver ## Find a client driver
You need a client driver to use Skytable in your programs. Officially, we maintain a regularly updated [Rust client driver](https://github.com/skytable/client-rust) which is liberally license under the Apache-2.0 license so that you can use it anywhere. You need a client driver to use Skytable in your programs. Officially, we maintain a regularly updated [Rust client driver](https://github.com/skytable/client-rust) which is liberally license under the Apache-2.0 license so that you can use it anywhere.
@ -106,7 +98,7 @@ fn main() {
> **You can find more information on client drivers on [this page](https://docs.skytable.io/libraries). If you want to help write a client driver for your language of choice, *we're here to support your work*. Please reach out to: hey@skytable.io or leave a message on our Discord server!** > **You can find more information on client drivers on [this page](https://docs.skytable.io/libraries). If you want to help write a client driver for your language of choice, *we're here to support your work*. Please reach out to: hey@skytable.io or leave a message on our Discord server!**
## 🙋 Getting help ## Getting help
We exclusively use [Discord](https://discord.gg/QptWFdx) for most real-time communications — you can chat with developers, maintainers, and our amazing users! Outside that, we recommend that you use our [GitHub Discussions page](https://github.com/skytable/skytable/discussions) for any questions or open a new issue if you think you've found a bug. We exclusively use [Discord](https://discord.gg/QptWFdx) for most real-time communications — you can chat with developers, maintainers, and our amazing users! Outside that, we recommend that you use our [GitHub Discussions page](https://github.com/skytable/skytable/discussions) for any questions or open a new issue if you think you've found a bug.

Loading…
Cancel
Save