Installation
maxicfg ships as a single static binary. Pick whichever method fits your environment — they all produce the same executable.
Debian / Ubuntu
curl -fsSL https://maxicfg.pro/apt/key.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/maxicfg.gpg
echo "deb [signed-by=/usr/share/keyrings/maxicfg.gpg] \
https://maxicfg.pro/apt stable main" \
| sudo tee /etc/apt/sources.list.d/maxicfg.list
sudo apt update && sudo apt install maxicfg
macOS
brew tap maxicfg/tap
brew install maxicfg
Release binary
Download the archive for your platform, verify the checksum and place the
binary somewhere on your PATH:
VERSION=0.9.5
curl -fsSLO https://maxicfg.pro/dl/${VERSION}/maxicfg_linux_amd64.tar.gz
curl -fsSLO https://maxicfg.pro/dl/${VERSION}/checksums.txt
sha256sum --check --ignore-missing checksums.txt
tar -xzf maxicfg_linux_amd64.tar.gz
sudo install -m 0755 maxicfg /usr/local/bin/maxicfg
Docker
docker run --rm -v "$PWD:/work" -w /work \
ghcr.io/maxicfg/maxicfg:0.9.5 lint ./config
From source
Requires Go 1.22 or newer:
go install maxicfg.pro/cmd/maxicfg@v0.9.5
Verify the installation
$ maxicfg version
maxicfg 0.9.5 (linux/amd64, go1.22.6)
Using maxicfg in CI
Always pin an exact version in CI. maxicfg is pre-1.0 and flags may change between minor releases — an unpinned install will eventually break a pipeline at an inconvenient moment.
A minimal GitHub Actions step:
- name: Lint configuration
run: |
curl -fsSL https://maxicfg.pro/dl/0.9.5/maxicfg_linux_amd64.tar.gz \
| tar -xz -C /usr/local/bin maxicfg
maxicfg lint ./config --schema ./config/schema.yaml --format github
The --format github flag emits workflow annotations, so problems
appear inline on the pull request diff.
Shell completion
# bash
maxicfg completion bash | sudo tee /etc/bash_completion.d/maxicfg
# zsh
maxicfg completion zsh > "${fpath[1]}/_maxicfg"
# fish
maxicfg completion fish > ~/.config/fish/completions/maxicfg.fish
Uninstall
sudo apt remove maxicfg # Debian / Ubuntu
brew uninstall maxicfg # macOS
sudo rm /usr/local/bin/maxicfg # manual install