We use a vendor directory to store all dependent files. A vendor directory ensures a single source of truth, so that it's clear in each PR what changes are being made, as well as allowing quick testing-out of ideas across various dependent package, or searching the files in your dependent packages via your editor.
BUT this currently comes at a cost. I have begrudgingly migrated from dep to go modules, and go modules are still working on their support for vendor directories:
https://github.com/golang/go/issues/27227
https://github.com/golang/go/issues/30240
This means there is a little overhead in working with the code base. If you need to make changes to dependent packages, you have two approaches you can take:
# 1)
a) Set `export GOFLAGS=-mod=vendor` in your ~/.bashrc file
b) use `go run main.go` to run lazydocker
c) if you need to bump a dependency e.g. jesseduffield/gocui, use
```
GOFLAGS= go get -u github.com/jesseduffield/gocui@master