关于 baseproject-update
baseproject-update 是用于更新现有 BaseProject 安装的技能。它同步上游技能和文档,同时保留项目专属内容,并提供备份与状态检查步骤。
主要功能
- 01检查安装状态和 Git 工作区
- 02备份现有 BaseProject 文件
- 03同步技能和 AgentUsage 文档
- 04合并 .gitignore 与 AGENT.md
- 05汇报变更和备份位置
适用场景
- 01从上游刷新技能和文档
- 02BaseProject 变更后更新模板
- 03更新时保留项目自定义文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ autumnsgrove/ lattice --skill baseproject-update安装后在 Claude Code 中输入/baseproject-update确认已加载。
详细介绍
BaseProject 更新技能
何时启用
在以下情况下启用此技能:
- 将现有的 BaseProject 安装更新到最新版本
- 与上游同步技能或 AgentUsage 文档
- 用户说“update baseproject”“sync baseproject”或调用
/baseproject-update - 上游更改后刷新项目模板
前提条件
- 项目已安装 BaseProject(存在
.claude/skills/和/或AgentUsage/) - Git 仓库处于干净状态(请先提交或暂存更改)
更新工作流
按顺序执行以下步骤:
步骤 1:验证当前状态
# Confirm BaseProject is installed
ls .claude/skills/ AgentUsage/ AGENT.md 2>/dev/null
# Ensure git is clean
git status --porcelain
如果 Git 工作区不干净,请提醒用户并让他们先提交或暂存更改。
步骤 2:克隆最新的 BaseProject
git clone --depth 1 https://github.com/AutumnsGrove/BaseProject.git /tmp/bp-update
步骤 3:创建备份
BACKUP_DIR=".baseproject-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP_DIR"
cp -r .claude/skills/ "$BACKUP_DIR/skills-backup/" 2>/dev/null
cp -r AgentUsage/ "$BACKUP_DIR/AgentUsage-backup/" 2>/dev/null
cp AGENT.md "$BACKUP_DIR/AGENT.md.backup" 2>/dev/null
步骤 4:同步技能
将 .claude/skills/ 与 /tmp/bp-update/.claude/skills/ 进行比较:
- 添加本地不存在的新技能目录
- 更新上游内容已更改的现有技能
- 保留未更改的技能(内容相同则跳过)
- 报告:新增、已更新和未更改的数量
步骤 5:同步 AgentUsage 文档
将 AgentUsage/ 与 /tmp/bp-update/AgentUsage/ 进行比较:
- 添加上游的新文件和目录
- 更新上游内容已更改的现有文件
- 保留仅存在于本地的自定义文件(用户添加的内容)
- 保留未更改的文件(内容相同则跳过)
- 报告:新增、已更新、未更改和保留的自定义文件数量
步骤 6:合并 .gitignore
# Add any new entries from upstream that aren't already present
# Never remove existing entries
步骤 7:更新 AGENT.md
智能合并 AGENT.md:
- 保留所有项目专属内容(用途、技术栈、架构、自定义章节)
- 更新BaseProject 模板章节(技能列表、工作流引用、工具说明)
- 添加上游的任何新增模板章节
- 通过内容分析区分模板样板内容与自定义项目内容
步骤 8:清理
rm -rf /tmp/bp-update
步骤 9:提交
git add .claude/skills/ AgentUsage/ .gitignore AGENT.md
git commit -m "chore: sync BaseProject skills, docs, and agent config"
步骤 10:显示摘要
显示:
- 技能:新增、已更新、未更改,以及所有可用技能的完整列表
- AgentUsage:新增、已更新、未更改、保留的自定义文件
- .gitignore:新增条目(如有)
- AGENT.md:已更新的章节(如有)
- 备份位置
更新内容
| 目标 | 操作 |
|---|---|
.claude/skills/ | 同步上游的所有技能 |
AgentUsage/ | 同步文档,保留自定义文件 |
.gitignore | 合并新增条目 |
AGENT.md | 合并模板章节,保留自定义内容 |
不会修改的内容
README.md- 你的项目 READMETODOS.md- 你的任务跟踪参考(指向 GitHub Issues)secrets.json/secrets_template.json- 你的密钥pyproject.toml/package.json/go.mod- 语言配置src//tests/- 你的源代码- Git hooks - 不会安装或修改
- House agents - 不会安装或修改
故障排除
克隆失败
# If GitHub is unreachable, try with a local copy:
# cp -r /path/to/local/BaseProject /tmp/bp-update
AGENT.md 中的合并冲突
如果 AGENT.md 的结构差异过大,无法顺利合并:
- 保留用户版本
- 在文件末尾添加新章节,并附上标记注释
- 让用户手动重新整理
恢复备份
# Restore from backup if something went wrong
cp -r .baseproject-backup-*/skills-backup/ .claude/skills/
cp -r .baseproject-backup-*/AgentUsage-backup/ AgentUsage/
cp .baseproject-backup-*/AGENT.md.backup AGENT.md
评论
支持 Markdown