Kipferl

Installation

Install kipferl on macOS or Linux

The project and package workflows are available in v0.7.2 and the current source checkout. Homebrew installs the stable release. Choose a version and follow the installation guide.

Kipferl 0.7.2 supports macOS and Linux, with project templates, local-module bundling, and compatibility-checked PyPI packages. Choose a direct download for an exact version or use Homebrew for the stable release channel.

Stable release

Download v0.7.2 for your operating system and CPU:

PlatformStable binaryChecksum
macOS Apple Siliconkipferl-macos-aarch64SHA-256
macOS Intelkipferl-macos-x86_64SHA-256
Linux x86_64kipferl-linux-x86_64SHA-256
Linux ARM64kipferl-linux-aarch64SHA-256

Choose asset from the table before running these commands. This installs into a new directory and leaves your previous executable available for rollback:

asset=kipferl-macos-aarch64
release=https://github.com/niklas-heer/kipferl/releases/download/v0.7.2
release_dir=$(mktemp -d "$HOME/kipferl-0.7.2.XXXXXX")
cd "$release_dir"
curl -fLO "$release/$asset"
curl -fLO "$release/$asset.sha256"

Verify the checksum with the command for your operating system:

# macOS:
shasum -a 256 -c "$asset.sha256"
# Linux:
sha256sum -c "$asset.sha256"

Continue only when verification reports OK. Keep the downloaded files under their original names until verification succeeds. Then:

chmod +x "$asset"
mv "$asset" kipferl
./kipferl --version
export PATH="$release_dir:$PATH"
kipferl new --help

The version should be Kipferl v0.7.2. The PATH change applies to this shell; opening a fresh shell restores your previous selection. Before upgrading a project, read the import and dependency-lock changes.

Stable Homebrew

Install the stable release on macOS or Linux:

brew install niklas-heer/tap/kipferl

Existing Kipferl users can run brew update and brew upgrade kipferl. The stable release workflow updates the formula on publication. If your tap still reports an older version, use the exact v0.7.2 download above.

If the old μcharm 0.5 Homebrew formula is installed, replace it once. The deprecated ucharm command, imports, environment variables, and release asset aliases ended in 0.7.1. Update scripts to use kipferl; see the 0.7.1 migration steps.

brew uninstall --force ucharm
brew install niklas-heer/tap/kipferl

Older releases

Keep a previous executable and project revision if you need rollback. Historical v0.6.0 downloads remain available; that release predates the project and package workflows in these guides. Verify the checksum attached to the version you download.

Development checkout

To change Kipferl itself or try changes after the stable release, install the source checkout with the repository's pinned mise setup. This requires Git, mise 2026.9.1 or newer, and a native C compiler/linker. On macOS, use the Xcode Command Line Tools.

git clone https://github.com/niklas-heer/kipferl.git
cd kipferl
mise trust
mise install --locked rust python node bun cargo:bacon aqua:nextest-rs/nextest/cargo-nextest watchexec
mise run setup
mise run install
export PATH="$HOME/.local/bin:$PATH"
kipferl new --help

mise run install links this checkout's CLI into ~/.local/bin. Review task definitions before trusting them. See Developing Kipferl for tool pins, tests, website tasks, and the distinction between newly compiled runtime code and the CLI's embedded prebuilt components.

If --template is absent from kipferl new --help, your shell is still finding an older CLI. Check command -v kipferl and select v0.7.2 or put the development symlink first on PATH. Source builds can share a version label while embedding different runtime bytes; package locks also check that identity.

Verify Installation

kipferl --version

Stable installations show:

Kipferl v0.7.2

Editor setup

With v0.7.2, new projects include autocomplete stubs and Pyright configuration:

kipferl new my-cli --template cli
cd my_cli

For an existing project, run kipferl init to add editor stubs. Use kipferl init --help for optional AI-tool instructions and editor integrations. See project commands to enable shell completion.

Next Steps

On this page