Installation

kfix can be installed via pre-built binaries or compiled from source.

Verify Installation

Check that kfix is installed correctly:

kfix version

You should see output similar to:

 _   __  _____   _____   __   __
| | / / |  ___| |_   _|  \ \ / /
| |/ /  | |_      | |     \ V /
|    \  |  _|     | |     /   \
| |\  \ | |      _| |_   / / \ \
\_| \_/ \_|     |_____| \/   \/

Version: v1.0.0
Source: https://github.com/amaanx86/kfix
Docs: https://kfix.readthedocs.io

Build from Source

Requirements

  • Go 1.25 or later

  • Git

  • Make (optional, but recommended)

Using Makefile (Recommended)

Clone the repository:

git clone https://github.com/amaanx86/kfix.git
cd kfix

Build the binary:

make build

This creates a kfix binary in the current directory with version information from git tags.

Install to system:

make install

Using go build

For a simple build without version information:

go build -o kfix

For a build with version information:

VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev")
go build -ldflags "-X github.com/amaanx86/kfix/cmd.version=$VERSION" -o kfix

Using go install

Install the latest version directly:

go install github.com/amaanx86/kfix@latest

Building Release Binaries

For maintainers building multi-platform releases:

make release

This builds binaries for all supported platforms in the dist/ directory:

  • Linux (amd64, arm64)

  • macOS (amd64, arm64)

  • Windows (amd64)

Version Management

When building with the Makefile, version information is automatically extracted from git tags.

To create a new release:

git tag v1.0.0
git push origin v1.0.0
make build

The binary will be built with version v1.0.0 embedded.

Creating GitHub Releases

For maintainers publishing releases:

  1. Build release binaries:

    git tag v1.0.0
    make release
    
  2. Create GitHub release:

  3. Binary names must match:

    • kfix-linux-amd64

    • kfix-linux-arm64

    • kfix-darwin-amd64

    • kfix-darwin-arm64

    • kfix-windows-amd64.exe

Once published, the /releases/latest/download/ URLs will automatically work.