Skip to content

v2.1.0 — Kivax is now a pip package

Latest

Choose a tag to compare

@null-result null-result released this 30 Aug 10:39
2f29111

Install

pipx install kivax

Same command on Linux, macOS, and Windows. Upgrading is pipx upgrade kivax, and that is the whole story — the agents, skills, and templates Kivax installs into projects now ship inside the package, so the CLI and the material it copies can never be out of step.

Breaking: install.py is gone

Kivax used to be installed by cloning the repository and running install.py, which left a store in ~/.kivax and a kivax symlink in ~/.local/bin. Neither is used any more, and if that old symlink sits earlier on your PATH it will keep shadowing the version you just installed.

rm -rf ~/.kivax ~/.local/bin/kivax

kivax version and kivax doctor detect the leftovers and tell you. Projects need no migration — everything kivax init wrote is already committed in your repository.

Why

install.py reimplemented what pip already does: dependency resolution (with a --break-system-packages workaround for PEP 668), PATH placement, and a kivax.bat shim on Windows. pipx does all three properly and sidesteps the "externally-managed-environment" error on Debian, Ubuntu, and Homebrew Python by isolating the tool in its own virtualenv.

It also let the CLI and the global store drift: updating one didn't update the other. With the store shipped as package data they are one artifact and cannot disagree about which version they are.

Also in this release

  • Editing the store by hand no longer works. It was never supported — agents are generated and kivax upgrade overwrites a project's copies — so this stops pretending rather than removing a feature. Use the agents: block in .kivax/config.yml for models, upstream changes for behavior, or point KIVAX_HOME at your own copy of the store if you genuinely need a divergent one.
  • The sample CI gate is now copy-pasteable. Installing Kivax on a runner is pip install kivax instead of a placeholder for your own infrastructure.
  • Windows is covered by CI, not just claimed: the full suite plus a real wheel install and kivax init run on every push.

Verified

482 tests, 96.89% coverage, across Python 3.10–3.13 on Linux, macOS, and Windows. A dedicated package job builds the wheel, asserts its store file count matches the tree exactly, installs it into a clean virtualenv with no access to the checkout, and drives a real init / feature new / doctor / validate.

Full changelog: v2.0.0...v2.1.0