basementdevs / scyllash

14 stars 1 forks source link

ScyllaSH

A Better CQLsh REPL Built in Rust

ScyllaSH is a powerful and user-friendly REPL (Read-Eval-Print Loop) for ScyllaDB and Cassandra, designed to be a superior alternative to the default cqlsh. Built with Rust and leveraging the ratatui library for an enhanced terminal interface, ScyllaSH offers a range of features that make working with CQL (Cassandra Query Language) more efficient and enjoyable.

Key Features

Installation

ScyllaSH is distributed as a standalone binary. You can install it via Cargo (Rust's package manager) or download the pre-built binaries from the releases page.

Via Cargo

cargo install scyllash

Pre-built Binary

  1. Download the appropriate binary for your operating system from the releases page.
  2. Extract the binary to a directory in your $PATH.
  3. Run scyllash from your terminal.

Usage

To start ScyllaSH, simply run:

scyllash

By default, ScyllaSH will attempt to connect to a ScyllaDB or Cassandra instance running on localhost at the default CQL port (9042). You can specify a different host and port using command-line arguments:

scyllash --host <your-host> --port <your-port>

Once connected, you'll be greeted with the ScyllaSH prompt where you can start entering CQL commands. Use Ctrl+D to exit the REPL.

Configuration

ScyllaSH can be configured using a configuration file located at ~/.config/scyllash/config.toml. Here, you can customize various aspects of the REPL, such as:

Example configuration file:

[connection]
hostname = "127.0.0.1"
port = 9042
username = "scylla"
password = ""
timeout = 10

# [scyllash]
# prompt = "scyllash> "
# color_scheme = "solarized_dark"

# [cql]
# version = "3.3.1"

# [metrics]
# enabled = true
# refresh_interval = 5

Contributing

We welcome contributions from the community! Whether it's bug reports, feature requests, or pull requests, your help is appreciated. Please check out our contributing guide for more details.

License

ScyllaSH is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgments

ScyllaSH is inspired by the need for a more powerful and flexible CQLsh experience. Special thanks to the creators of Rust, Ratatui, and ScyllaDB for providing the tools and inspiration to make this project possible.


Start supercharging your CQLsh experience today with ScyllaSH! 🚀