Existing checkout
An existing ~/kin or legacy ~/kin-textual always stays an editable checkout. Kin updates it safely and never switches it to a wheel.
A native AI peer for the terminal. Kin works alongside you in the project itself, with explicit tools and permissions, durable sessions, and the model provider you choose.
One command handles both product users and authorized contributors. It installs uv first when needed, never uses sudo, never edits your shell files, and verifies the finished command with kin --version.
bash <(curl -fsSL https://get.kinra.ai/install.sh)
sudo dnf install git so the installer can choose the editable checkout path.
sudo apt install git to let the installer select an editable checkout.
xcode-select --install first; an existing Homebrew uv is reused.
wsl --install from an elevated Windows terminal, open the Linux shell, then use the installer above there. Native Windows support remains a tracked follow-up.
An existing ~/kin or legacy ~/kin-textual always stays an editable checkout. Kin updates it safely and never switches it to a wheel.
When Git and authorized GitHub SSH access are available, Kin clones the private repository, syncs its locked environment, and installs the checkout editable.
If Git is absent, SSH authorization is denied, or GitHub SSH is unreachable, the same command installs Kin from a manifest-selected, SHA-256-pinned Kinra wheel. PyPI is used only for public third-party dependencies.
Dry run: add --check to the installer. It inspects an existing checkout and describes both fresh-install branches without probing SSH, writing known_hosts, or changing the machine.
Wheel installs leave settings untouched. Checkout installs retain the shared starter baseline. Either way, provider keys are entered in Kin through /providers, not embedded in the installer.
kin --version
kin doctor
kin doctor checks the install, provider resolution, settings, and model endpoint. Use kin doctor --offline when the network probe is intentionally unavailable.
kin in a project directory./providers to select a local or hosted model endpoint and add any needed key.Kin detects whether it came from an editable checkout or the public wheel and applies the matching update path. Wheel operations pin Kin’s immutable release bytes while using PyPI only for public third-party dependencies.
kin update
kin update --check
Re-run the installer to repair the current shape. A wheel can install a retained release explicitly:
uv tool install --reinstall "kin @ https://get.kinra.ai/kin-VERSION-py3-none-any.whl" --index https://pypi.org/simple/ --default-index https://get.kinra.ai/simple/
An editable contributor checkout uses its reviewed Git tag or commit as the rollback point.
The source repository and its history remain private. Authorized contributors can make the installer choose the development path by configuring a GitHub SSH key, or check out the repository directly.
git clone git@github.com:kinra-ai/kin.git ~/kin
Inside the checkout, use uv run … for every Python command so the pinned environment is authoritative. The public product install does not require repository access.
Outpost is Kin’s optional always-on deployment surface—not a third Kinra product. Its installer checks Docker and Compose, stages the required secret files, and prints the remaining identity and routing work honestly.
bash <(curl -fsSL https://get.kinra.ai/outpost-install.sh)
Same-origin SHA-256 files detect incomplete or corrupted downloads; they do not make the origin itself trustworthy. The scripts are deliberately readable, and version.json is published only after every artifact it advertises.