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 crate::something;
```
this mode of styling is preferred:
```rust
use {
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:
- `cli`: REPL shell
- `server`: database server
- `cli`: interactive shell `skysh`
- `server`: server daemon `skyd`
- `sky-bench`: benchmark tool
The `pkg` folder contains scripts used to build packages for different targets. The `examples` folder
contains example configuration files.
### 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.
Pushes are made directly
to next if they don't change things significantly; for example, changes in documentation comments and general optimizations. If
however the changes are huge, then they must be created on a separate branch, a pull request opened, the CI suite run and
finally merged into next.
Pushes are made directly to next if they don't change things significantly; for example, changes in
documentation comments and general optimizations. If however the changes are huge, then they must be created
on a separate branch, a pull request opened, the CI suite run and finally merged into next.
## Pull request guidelines
### Typo correction or doc updates
The creation of superflous merge requests is generally discouraged. Such examples include the creation of multiple
PRs to correct single typos, update comments or update docs.
The creation of superflous merge requests is generally discouraged. Such examples include the creation of
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).
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)
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**

@ -1,18 +1,10 @@
<br/><p align="center">
<a href="https://skytable.io"><img width="150" src="assets/logo.jpg"></a>
</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">
# Skytable <img align="right" src="assets/logo.jpg" height="128" width="128" alt="Skytable Logo"/>
A modern NoSQL database, powered by BlueQL.<br/>
<p>
<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>
## 💡 What is Skytable?
## What is 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
@ -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).**
## 🎨 Features
## Features
- **Spaces, models and more**: For flexible data definition
- **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).
## 🚀 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.
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)**
## 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).
@ -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)
## 🧩 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.
@ -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!**
## 🙋 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.

Loading…
Cancel
Save