From AIPS
Refreshes global AIPS plugin marketplace metadata and upgrades the AIPS plugin and its dependency plugins. Also supports hybrid v6-to-v7 migration via --to flag.
How this command is triggered — by the user, by Claude, or both
Slash command
/AIPS:aips-upgradeThis command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# /aips:upgrade Refresh everything global: plugin marketplace metadata, the AIPS plugin, and every dependency plugin AIPS relies on. Per-project state is **not** touched — run `/aips:update` afterward to sync the local project. ## What it does 1. **Marketplace refresh**: 2. **AIPS plugin upgrade**: Capture pre/post versions from `~/.claude/plugins/AIPS/.claude-plugin/plugin.json`. 3. **Dependency plugins** — for each of `agentmemory`, `caveman`, `rtk`, `codex-plugin-cc` (when present): Capture pre/post versions from each plugin's `plugin.json`. 4. **Restart agentmemory ...
Refresh everything global: plugin marketplace metadata, the AIPS plugin, and every dependency plugin AIPS relies on. Per-project state is not touched — run /aips:update afterward to sync the local project.
claude --print "/plugin marketplace update"
claude --print "/plugin update AIPS@AIPS"
Capture pre/post versions from ~/.claude/plugins/AIPS/.claude-plugin/plugin.json.agentmemory, caveman, rtk, codex-plugin-cc (when present):
claude --print "/plugin update <name>@<marketplace>"
Capture pre/post versions from each plugin's plugin.json.systemctl --user restart agentmemory
macOS: launchctl kickstart -k gui/$(id -u)/agentmemory (if loaded). Other platforms: WARN and skip.One line per plugin showing the version delta:
[upgrade] marketplace refreshed
[upgrade] AIPS v6.0.0 → v6.1.0
[upgrade] agentmemory v0.3.2 → v0.3.3
[upgrade] caveman v1.1.0 (no change)
[upgrade] rtk v2.0.1 → v2.0.2
[upgrade] codex-plugin-cc not installed
[upgrade] agentmemory svc restarted (version changed)
note: run /aips:update inside each project to sync per-project files.
.priv-storage/, root symlinks, project source.--to v7.0 (hybrid migration)When invoked as /aips:upgrade --to v7.0 (or /aips:upgrade --to v7.0 $ARGUMENTS), perform the v6.0 → v7.0 hybrid migration for the current project instead of (or in addition to) the global plugin refresh.
.priv-storage/.aips-version in the project root.
.priv-storage/CLAUDE.md is present with the v6.0 section layout (Sections 1–7, 11) → treat as v6.0.7.0 → abort with already on v7.0 (no-op).5.x) → abort with unsupported source version: <ver>; run /aips:migrate-from-md first.Print the upgrade plan from lib/upgrade.sh --plan (the PLAN block). The legacy lib/upgrade-to-v7.sh name is a thin backward-compat wrapper for the same call.
[plan] backup → tmp-igbkp/upgrade-v7-backup-{ts}/
[plan] globalize → hooks, skills, output-styles, statusline → ~/.claude/
[plan] gitignore → strip per-project AIPS block, add to ~/.config/git/ignore
[plan] memory → mirror .priv-storage/memory/* → ~/.claude/projects/<encoded>/memory/, then prune
[plan] sessions → mirror .priv-storage/sessions/* → ~/.claude/sessions/<hash>/
[plan] CLAUDE.md → trim Sections 8–13 ref comments (re-render via lib/render-claude-md.sh)
[plan] marker → write .priv-storage/.aips-version ← 7.0
Prompt Proceed? [Y/n] (default Y).
On confirm:
UPGRADE_SH="$(find ~/.claude/plugins/cache/AIPS/AIPS/lib -name upgrade.sh 2>/dev/null | head -1)"
[ -z "$UPGRADE_SH" ] && UPGRADE_SH="$(find ~/.claude/plugins -name upgrade.sh -path '*/AIPS/*' 2>/dev/null | head -1)"
# Backward-compat fallback if running against an older plugin install:
[ -z "$UPGRADE_SH" ] && UPGRADE_SH="$(find ~/.claude/plugins -name upgrade-to-v7.sh 2>/dev/null | head -1)"
bash "$UPGRADE_SH" "$(pwd)"
Pass-through flags: --dry-run, --force, --keep-local-fallback (e.g. /aips:upgrade --to v7.0 --dry-run).
Strict mode is the default. Result equals a fresh v7.0 install:
tmp-igbkp/*.sh deleted after global ~/.local/bin/aips-* symlinks verified.priv-storage/sessions/*.md cleared after global mirror verified (dir kept for hook fast-write)Pass --keep-local-fallback to retain both as fallback (pre-strict v7.0 behavior). Full backup is always at tmp-igbkp/upgrade-v7-backup-{ts}/ regardless of mode — strict purges are reversible.
.priv-storage/.aips-version contains 7.0.[upgrade-v7] backup tmp-igbkp/upgrade-v7-backup-{ts}/ (N files)
[upgrade-v7] globalized X files → ~/.claude/
[upgrade-v7] preserved Y files (per-project AIPS bits)
[upgrade-v7] marker .priv-storage/.aips-version = 7.0
Upgraded to v7.0 — N files globalized, M files preserved, backup at tmp-igbkp/upgrade-v7-backup-{ts}/
--dry-run prints the plan and exits without touching the FS.--force skips the v6.0 pre-check (use only if state is known good but the marker is missing).--keep-local-fallback switches strict → lenient (per-project tmp-igbkp/.sh + sessions/.md retained).~/.local/bin/aips-* symlink resolves; a session file is deleted only if its global mirror exists. Anything failing the guard is kept and reported via WARN.Without --to v7.0, behavior is unchanged from the section above (global plugin update only).
npx claudepluginhub kernalix7/aips --plugin AIPS