skill 管理,后缀为public可以被git commit

28 阅读1分钟

skill 管理,后缀为public可以被git commit

-.agents
+.agents/*
+!.agents/skills/
+.agents/skills/*
+!.agents/skills/*-public/

修改逻辑

  1. 旧规则/.agents,直接把整个 .agents 目录全部忽略,目录内所有文件都不会进 git。
  2. 新规则
  • +.agents/*:忽略 .agents 下全部内容
  • +!.agents/skills/例外,不忽略 skills 文件夹本身
  • +.agents/skills/*:忽略 skills 下大部分文件
  • +!.agents/skills/*‑public/:例外,所有名字以 -public 结尾的 skill 目录纳入版本控制

效果:

  • .agents/ 根下其他文件全部忽略
  • .agents/skills/ 里面,只有 xxx‑public 的技能目录会被 git 跟踪;skills 内其它目录依旧被忽略 正好满足:维护 skill,只提交 public 对外技能,本地私有技能不上库

目录行为示例

.agents
├─ junk.json          # 被忽略 ✖
└─ skills
   ├─ my‑private‑skill # 被忽略 ✖
   └─ demo‑public     # !例外,会被git提交 ✔

小坑提醒(gitignore 语法陷阱)

必须先 *.agents/* 整体忽略,再 ! 做反向;

如果直接写 !.agents/skills/*‑public/,前面没有忽略父目录,规则不会生效。你这份 diff 的写法是标准正确写法。