Skip to content

Latest commit

 

History

History
99 lines (71 loc) · 3.38 KB

CONTRIBUTING.md

File metadata and controls

99 lines (71 loc) · 3.38 KB

Contributing

👋 Hey there! Thanks for considering taking the time to contribute to git-bug. This page contains some general guidelines, and instructions for getting started as a contributor to this project.

Get the source code

Clone this repository to your system in a way you're comfortable with. Below, we show a command that [clones the repository][how-to-clone] using SSH, and places it in ~/code/git-bug.

git clone [email protected]:git-bug/git-bug ~/code/git-bug

Important

If you wish to clone the repository to another location on disk, change ~/code/git-bug to your desired path. The rest of this documentation will refer to ~/code/git-bug in all instances, so make sure you change them there, too.

Software recommendations

While you can install Golang and hack on this project on your own, you're likely to have a better experience if you install the following software.

nix (recommended)

nix is used in this repository to provide a common development shell, with a complete set of the appropriate version of the tools used to work on git-bug.

You can install nix by following the official instructions, but we recommend adding some additional flags in order to enable some (technically experimental, but largely stable) configuration options:

curl -L https://nixos.org/nix/install | sh -s -- --daemon --nix-extra-conf-file <( \
cat << EOF | sed -e 's/^ *//'
  experimental-features = nix-command flakes
EOF
)

Tip

Make sure you read the prompts from the installation script carefully. After installation, you'll need to start a new shell.

direnv (recommended)

direnv is used to automatically activate the development shell (because of the .envrc in the root of this repository).

With nix

Important

If you are not comfortable with nix, we recommend [installing direnv without nix][install/install-direnv-without-nix].

nix --extra-experimental-options 'flakes nix-command' profile install nixpkgs\#direnv

There's a second step that is critical -- be sure to configure your shell.

Without nix

You can install direnv by following the official instructions. There's a second step that is critical -- be sure to configure your shell.

After installation, you'll need to start a new shell.

direnv configuration (recommended)

If you install direnv, it is recommended to set the following configuration options to improve your user experience. At the time of writing, these go in ~/.config/direnv/direnv.toml.

This configuration, namely, the whitelist.exact property, will ensure that direnv always automatically sources the .envrc in this repository.

hide_env_diff = true
warn_timeout = 0

[whitelist]
exact = ["~/code/git-bug/.envrc"]

Important

Make sure you change the ~/code/git-bug portion of the string to the appropriate path (the path that you cloned this repository to on your system).