maxicfg

Установка

maxicfg распространяется одним статическим бинарником. Выберите способ, удобный для вашего окружения, — результат во всех случаях одинаковый.

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

Бинарный релиз

Скачайте архив для своей платформы, проверьте контрольную сумму и положите бинарник в каталог из 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

Из исходников

Требуется Go 1.22 или новее:

go install maxicfg.pro/cmd/maxicfg@v0.9.5

Проверка установки

$ maxicfg version
maxicfg 0.9.5 (linux/amd64, go1.22.6)

Использование в CI

В CI всегда фиксируйте точную версию. Проект младше 1.0, флаги могут меняться между минорными релизами — установка без фиксации рано или поздно сломает пайплайн в самый неподходящий момент.

Минимальный шаг для GitHub Actions:

- 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

Флаг --format github выводит аннотации workflow, и проблемы появляются прямо в диффе пул-реквеста.

Автодополнение в shell

# 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

Удаление

sudo apt remove maxicfg          # Debian / Ubuntu
brew uninstall maxicfg           # macOS
sudo rm /usr/local/bin/maxicfg   # ручная установка