chezmoi is written in Go and development happens on GitHub. chezmoi is a standard Go project, using standard Go tooling. chezmoi requires Go 1.19 or later.
$ git clone https://github.com/twpayne/chezmoi.git $ cd chezmoi
$ go build
If you try to build chezmoi with an unsupported version of Go you will get the error:
package github.com/twpayne/chezmoi/v2: build constraints exclude all Go files in /home/twp/src/github.com/twpayne/chezmoi
Run all tests:
$ go test ./...
chezmoi's tests include integration tests with other software. If the other
software is not found in
$PATH the tests will be skipped. Running the full
set of tests requires
$ go run .
Run a set of smoketests, including cross-compilation, tests, and linting:
$ make smoketest