Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 3 additions & 12 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -208,11 +208,8 @@ jobs:
kagi_install() { HOME="$home" KAGI_INSTALL_BASE_URL="$dist" sh dist/install.sh "$@"; }
snapshot() { find "$home" -printf '%i %T@ %p %l\n' | sort; }

# The upgrade from 0.5 removes the skill that release installed, its
# links, and a v0.4 per-binary skill dir.
mkdir -p "$home/.local/bin" "$home/.agents/skills/kagi" "$home/.agents/skills/kagi-search" \
"$home/.codex/skills"
ln -s ../../.agents/skills/kagi "$home/.codex/skills/kagi"
# An upgrade replaces the installed version.
mkdir -p "$home/.local/bin"
printf '#!/bin/sh\necho kagi-search 0.5.4\n' > "$home/.local/bin/kagi-search"
chmod +x "$home/.local/bin/kagi-search"
status=0
Expand All @@ -223,26 +220,20 @@ jobs:
test -x "$home/.local/bin/kagi-search"
test -x "$home/.local/bin/kagi-maps"
test -x "$home/.local/bin/kagi-summarize"
test ! -e "$home/.agents/skills/kagi"
test ! -e "$home/.agents/skills/kagi-search"
test ! -L "$home/.codex/skills/kagi"
test ! -e "$home/.pi"

# A second run finds the current version and changes nothing.
before="$(snapshot)"
kagi_install "$TAG" | grep -Fx "kagi ${TAG#v} is current"
test "$before" = "$(snapshot)"
kagi_install --check "$TAG"

# A first install removes nothing: a skill the user brings stays.
# A first install.
home="$(mktemp -d)"
mkdir -p "$home/.agents/skills/kagi"
status=0
kagi_install --check "$TAG" || status=$?
test "$status" -eq 100
kagi_install "$TAG"
test -x "$home/.local/bin/kagi-search"
test -d "$home/.agents/skills/kagi"
- name: Write release notes
shell: bash
env:
Expand Down
4 changes: 1 addition & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@ covers install, the token, and usage.
- `install.sh` is the one installer. `task install` and the release smoke test run it on local
archives. `task install` packs the local build like a release archive, so it runs only on the
two release platforms.
- The repo ships no agent skill. An agent that uses these CLIs brings its own. On the upgrade from
0.5 or earlier, `install.sh` removes the skill that release installed. Later runs leave any
`kagi` skill alone.
- The repo ships no agent skill. The `search` skill in rubas/dotfiles covers these CLIs.
- A version bump is the release trigger. On each push to `main`, `release.yml` reads `version`
from `Cargo.toml`. When the tag `v<version>` does not exist, it tags and publishes. The tag
decides, not the parent commit, so a push of many commits or a cancelled run does not lose a
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ All notable changes to this project are documented in this file.
The format is loosely based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project follows [Semantic Versioning](https://semver.org/).

## [0.6.1] - 2026-09-30

### Removed

- The cleanup of the agent skill that 0.5 and earlier installed. `install.sh` no
longer deletes a `kagi` skill dir on the upgrade from such a release.

## [0.6.0] - 2026-09-26

### Removed
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "kagi"
version = "0.6.0"
version = "0.6.1"
categories = ["command-line-utilities"]
edition = "2024"
homepage = "https://github.com/rubas/kagi"
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ Kagi account and its session token.
curl -fsSL https://github.com/rubas/kagi/releases/latest/download/install.sh | sh
```

The installer puts `kagi-search`, `kagi-maps`, and `kagi-summarize` in `~/.local/bin`. On the
upgrade from 0.5 or earlier, it removes the `kagi` agent skill and the links that release installed.
The installer puts `kagi-search`, `kagi-maps`, and `kagi-summarize` in `~/.local/bin`.

Run the same command again to update. When `~/.local/bin/kagi-search --version` already shows the
target version, the installer says so and changes nothing.
Expand All @@ -30,7 +29,7 @@ Put a release tag or an option after `sh -s --`:

```bash
# Install a given release.
curl -fsSL https://github.com/rubas/kagi/releases/latest/download/install.sh | sh -s -- v0.6.0
curl -fsSL https://github.com/rubas/kagi/releases/latest/download/install.sh | sh -s -- v0.6.1
# Show the installed and the latest version, and install nothing.
curl -fsSL https://github.com/rubas/kagi/releases/latest/download/install.sh | sh -s -- --check
```
Expand Down
2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
craneLib = crane.mkLib pkgs;
commonArgs = {
pname = "kagi";
version = "0.6.0";
version = "0.6.1";
src = pkgs.lib.cleanSource ./.;
strictDeps = true;
nativeBuildInputs = [
Expand Down
12 changes: 0 additions & 12 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -114,18 +114,6 @@ for file in bin/kagi-search bin/kagi-maps bin/kagi-summarize; do
fi
done

# Releases up to 0.5.4 installed an agent skill: one kagi dir plus its links,
# or per-binary dirs in v0.4 and earlier. Remove them only on the upgrade from
# such a release, so a skill the user brings under the same name survives.
case "$installed" in
0.[0-5].*)
for dir in .agents/skills .claude/skills .codex/skills .gemini/antigravity-cli/skills .pi/agent/skills; do
rm -rf "$HOME/$dir/kagi" "$HOME/$dir/kagi-search" "$HOME/$dir/kagi-maps" "$HOME/$dir/kagi-summarize"
done
echo "removed the kagi agent skill that kagi ${installed} installed"
;;
esac

# kagi-search goes last: its --version marks the install as current, so an
# install that fails before it runs again in full.
install -d "$bin_dir"
Expand Down
Loading