refactor: ~/skills → ~/Code/skills,sync.sh 支持 cursor rules 同步

- 所有引用从 ~/skills 改为 ~/Code/skills(遵循 ~/Code/ 约定)
- sync.sh 新增 cursor/*.mdc → ~/.cursor/rules/ 自动同步
- cfg HERMES_AGENT_CONVENTIONS 同步更新

[小糯]
This commit is contained in:
小糯 (Xiaonuo) 2026-04-23 20:12:27 +08:00
parent 5a08fe9308
commit 281dc7a725
4 changed files with 53 additions and 28 deletions

View File

@ -98,7 +98,7 @@ hermes-har personality switch <name> --tg
## 家族共识
- 代码仓库统一 clone 到 `~/Code/`
- Skills repo 在 `~/skills/`
- Skills repo 在 `~/Code/skills/`
- Node.js 用 nvm 管理,非交互 shell 需先 `export NVM_DIR="$HOME/.nvm" && . "$NVM_DIR/nvm.sh"`
- 配置管理用 cfg CLI,`eval "$(cfg env)"` 加载环境变量
- 代码托管在 git.shazhou.work(Gitea),Git 提交末尾署名 `[你的名字]`

View File

@ -4,13 +4,13 @@
确认 skills repo 已克隆:
ls ~/skills/sync.sh
ls ~/Code/skills/sync.sh
确认 skills 已同步到 Hermes:
ls ~/.hermes/skills/
✅ 达标:`~/skills` 存在,`~/.hermes/skills/` 下有从 repo 同步过来的 skill 目录
✅ 达标:`~/Code/skills` 存在,`~/.hermes/skills/` 下有从 repo 同步过来的 skill 目录
## 安装
@ -21,13 +21,13 @@
### 同步到 Hermes
cd ~/skills
cd ~/Code/skills
bash sync.sh
### 目录结构
```
~/skills/
~/Code/skills/
├── hermes/ # Hermes Agent skills
├── cursor/ # Cursor rules
├── sync.sh # 同步脚本:hermes skills → ~/.hermes/skills/
@ -43,4 +43,4 @@
有新 skill 更新时:
cd ~/skills && git pull && bash sync.sh
cd ~/Code/skills && git pull && bash sync.sh

View File

@ -73,7 +73,7 @@ check "cursor-agent 已安装" "command -v cursor-agent"
check "CURSOR_API_KEY 可用" "test -n \"\$CURSOR_API_KEY\""
echo "11. Skills"
check "skills repo 已克隆" "test -d ~/skills/.git"
check "skills repo 已克隆" "test -d ~/Code/skills/.git"
check "skills 已同步" "ls ~/.hermes/skills/ | grep -qv '^$'"

65
sync.sh
View File

@ -1,37 +1,62 @@
#!/bin/bash
# 同步 shazhou/skills 到各目标
# - hermes/ → ~/.hermes/skills/
# - CONVENTIONS.md → ~/.hermes/CONVENTIONS.md
# - cursor/ → 不自动同步(手动复制到各项目 .cursor/rules/)
# - cursor/ → ~/.cursor/rules/
# 用法:bash sync.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
SOURCE="$SCRIPT_DIR/hermes"
HERMES_HOME="${HERMES_HOME:-$HOME/.hermes}"
TARGET="$HERMES_HOME/skills"
if [ ! -d "$SOURCE" ]; then
echo "❌ 找不到 $SOURCE"
exit 1
echo "🔄 沙洲家族 Skills 同步"
echo "========================"
echo ""
# --- Hermes skills ---
HERMES_SOURCE="$SCRIPT_DIR/hermes"
HERMES_TARGET="$HERMES_HOME/skills"
if [ -d "$HERMES_SOURCE" ]; then
mkdir -p "$HERMES_TARGET"
count=0
for skill_dir in "$HERMES_SOURCE"/*/; do
[ -d "$skill_dir" ] || continue
skill_name=$(basename "$skill_dir")
rsync -a --delete "$skill_dir" "$HERMES_TARGET/$skill_name/"
echo " ✅ hermes: $skill_name"
count=$((count + 1))
done
echo ""
echo "Hermes skills: $count$HERMES_TARGET"
else
echo "⚠️ hermes/ 目录不存在,跳过"
fi
mkdir -p "$TARGET"
echo ""
# 同步 hermes skills
count=0
for skill_dir in "$SOURCE"/*/; do
skill_name=$(basename "$skill_dir")
target_dir="$TARGET/$skill_name"
rsync -a --delete "$skill_dir" "$target_dir/"
echo "$skill_name"
# --- Cursor rules ---
CURSOR_SOURCE="$SCRIPT_DIR/cursor"
CURSOR_TARGET="$HOME/.cursor/rules"
if [ -d "$CURSOR_SOURCE" ]; then
mkdir -p "$CURSOR_TARGET"
count=0
for rule_file in "$CURSOR_SOURCE"/*.mdc; do
[ -f "$rule_file" ] || continue
cp "$rule_file" "$CURSOR_TARGET/"
echo " ✅ cursor rule: $(basename "$rule_file")"
count=$((count + 1))
done
done
echo ""
echo "Cursor rules: $count$CURSOR_TARGET"
else
echo "⚠️ cursor/ 目录不存在,跳过"
fi
echo ""
echo "同步完成!共 $count 个 hermes skills → $TARGET"
echo "========================"
echo "✅ 同步完成"
echo ""
echo "💡 cursor/ 下的 .mdc 文件请手动复制到项目的 .cursor/rules/"
echo "💡 家族共识通过 cfg (FAMILY_CONVENTIONS) 管理,hermes-har personality switch 时自动 append 到 SOUL.md"
echo "💡 家族共识通过 cfg (HERMES_AGENT_CONVENTIONS) 管理"
echo "💡 hermes-har personality switch 时自动 append 到 SOUL.md"