Warning
If you use an LLM (Large Language Model, like ChatGPT, Claude, Gemini, GitHub Copilot, or Llama) to make any kind of contribution then you will immediately be banned without recourse. See CODE_OF_CONDUCT.md for more information.
chezmoi is written in Go and development happens on GitHub. chezmoi is a standard Go project, using standard Go tooling. chezmoi requires Go 1.24 or later.
Checkout chezmoi:
Build chezmoi:
Run all tests:
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 age, base64, bash, bzip2, git, gpg, gzip, perl, python3, rage, ruby, sed, sha256sum, tr, true, unzip, xz, zip, and zstd.
Run chezmoi:
Run a set of smoke tests, including cross-compilation, tests, and linting:
Test building chezmoi for all architectures:
Hint
If you use fish as your primary shell, you may get warnings from Fish during tests:
These can be avoided with by running tests with SHELL=bash or SHELL=zsh: