Contributing guide

Thank you for investing your time in contributing to Neverest CLI!

Development

Neverest CLI is written in Rust language. To contribute to the project, you need to install the Rust environment. Here 2 options to set up your development environment:

Using Nix

Neverest CLI relies on the Nix package manager. Starting the development environment is as simple as running nix-shell (or nix develop with flakes feature on), which spawns a shell with everything you need to get started with Neverest CLI: cargo, cargo-watch, rust-bin, rust-analyzer

# start a nix shell
$ nix-shell

# build the CLI
$ cargo build

Using Rustup

If you do not want to use Nix, you can install and use rustup.

# install rustup
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# install toolchain from ./rust-toolchain.toml
$ rustup show

# build the CLI
$ cargo build

A rust-toolchain.toml file is available at the root level of the project, and should be taken by rustup to install the right toolchain and components.

Reporting a bug

A bug tracker is available at https://todo.sr.ht/~soywod/pimalaya.

To report a bug, just send an email at ~soywod/pimalaya@todo.sr.ht.

Try to give a minima:

  • OS information from uname -a
  • CLI version from --version
  • Logs from --debug or --trace

Proposing a feature or fixing a bug

A mailing list is available at https://lists.sr.ht/~soywod/pimalaya/patches.

To propose a feature or fix a bug, please send a patch at ~soywod/pimalaya@lists.sr.ht.

A patch is just a file containing code diff, like the one generated by the command git diff. Git comes with a command called send-email for this exact purpose of sending emails containing a collection of patches. This guide may help you to configure git properly.

Basically, you need to open your git configuration and add your SMTP credentials:

$ git config --global --edit
[sendemail]
smtpserver = mail.example.org
smtpuser = you@example.org
smtpencryption = ssl
smtpserverport = 465

Discussing

A mailing list is available at https://lists.sr.ht/~soywod/pimalaya.

To discuss about the project, feel free to join the Matrix workspace #pimalaya.neverest or contact me directly @soywod. You can also subscribe or unsubscribe to the mailing list.