From c64674dc23abb2899f0ca6fcd5f3cb31b0b9b853 Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Sun, 26 Mar 2023 18:31:12 +0100 Subject: [PATCH] Update CONTRIBUTING.md (#815) --- CONTRIBUTING.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index abb7031..6634b9f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,40 @@ # Contributing -Firstly, thank you so much for considering contributing to Atuin! +Thank you so much for considering contributing to Atuin! We really appreciate it <3 + +Atuin doesn't require anything super special to develop - standard Rust tooling will do you just fine. We commit to supporting the latest stable version of Rust - nothing more, nothing less, no nightly. + +Before working on anything, we suggest taking a copy of your Atuin data directory (`~/.local/share/atuin` on most \*nix platforms). If anything goes wrong, you can always restore it! + +## Setup + +``` +git clone https://github.com/ellie/atuin +cd atuin +cargo build +``` + +## Running + +When iterating on a feature, it's useful to use `cargo run` + +For example, if working on a search feature + +``` +cargo run -- search --a-new-flag +``` + +While iterating on the server, I find it helpful to run a new user on my system, with `sync_server` set to be `localhost`. + +## Tests + +Our test coverage is currently not the best, but we are working on it! Generally tests live in the file next to the functionality they are testing, and are executed just with `cargo test`. + + +## Migrations + +Be careful creating database migrations - once your database has migrated ahead of current stable, there is no going back + +### Stickers + +We try to ship anyone contributing to Atuin a sticker! Only contributors get a shiny one. Fill out [this form](https://notionforms.io/forms/contributors-stickers) if you'd like one.