The repository was recently moved to the git-bug organization on github. This change refactors references to the repository to ensure that they use the updated owner URI. Closes: #1243 Change-Id: I799712354c6ba25cdd8b06286275850c52efe6ff
3.4 KiB
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 git@github.com: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 [installingdirenv
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).