super-pm-upgradelisted
Install: claude install-skill konglong87/superPM
## Preamble (run first)
```bash
bash "$(dirname "${BASH_SOURCE[0]}")"/check-update.sh 2>/dev/null || true
# 检测当前版本
if [ -f "VERSION" ]; then
CURRENT_VERSION=$(cat VERSION)
echo "📦 当前版本: $CURRENT_VERSION"
else
echo "⚠️ 未找到VERSION文件"
CURRENT_VERSION="unknown"
fi
# 检测Git仓库
if [ -d ".git" ]; then
echo "✅ Git仓库检测成功"
else
echo "❌ 未检测到Git仓库,无法升级"
exit 1
fi
```
---
## 执行流程
### 步骤 1: 检测当前版本
使用 Read 工具读取 `VERSION` 文件。
记录当前版本到变量 `CURRENT_VERSION`
---
### 步骤 2: 查询最新版本
使用 Bash 工具执行:
```bash
# 获取远程仓库最新版本标签
git fetch --tags
# 获取最新标签
LATEST_TAG=$(git tag --sort=-v:refname | head -n 1)
echo "🏷️ 最新版本: $LATEST_TAG"
```
记录最新版本到变量 `LATEST_VERSION`
---
### 步骤 3: 对比版本
AI 对比 `CURRENT_VERSION` 和 `LATEST_VERSION`:
**如果当前版本 = 最新版本**:
> ✅ 您已在最新版本!
>
> 当前版本: {CURRENT_VERSION}
> 最新版本: {LATEST_VERSION}
>
> 无需升级。
结束流程。
---
**如果当前版本 < 最新版本**:
> 🎉 发现新版本!
>
> 当前版本: {CURRENT_VERSION}
> 最新版本: {LATEST_VERSION}
>
> 是否查看更新日志?
用户选择后,继续。
---
### 步骤 4: 查看更新日志
使用 Bash 工具:
```bash
# 查看最新版本的更新日志
git log --pretty=format:"- %s" $CURRENT_VERSION..$LATEST_TAG
```
显示更新内容:
> 📋 更新日志 ({LATEST_VERSION}):
>
> {更新内容}
询问用户:
> 是否升级到 {LATEST_VERSION}?
>
> A) 是的,立即升级(推荐)
> B) 查看完整变更日志后再决定
> C) 暂不升级
---
### 步骤 5: 执行升级
如果用户选择升级:
#### 5.1 备份当前版本
使用 Bash 工具:
```bash
# 创建备份分支
BACKUP_BRANCH="backup/$(date +%Y%m%d_%H%M%S)"
git checkout -b $BACKUP_BRANCH
echo "✅ 已创建备份分支: $BACKUP_BRANCH"
```
---
#### 5.2 切换到最新版本
```bash
# 切换到最新标签
git checkout $LATEST_TAG
# 验证VERSION文件
NEW_VERSION=$(