skills.lock.json中列出的技能以full-stack-skills/codeguard-skills为事实源;不得直接编辑插件内对应目录。- 更新受管技能时,先在外部技能仓完成修改、TRACE 评估和不可变 tag,再更新 lock ref,执行
python3 scripts/vendor/skill_vendor.py update。 - 提交前必须执行
python3 scripts/vendor/skill_vendor.py check --offline和在线check。 - 只有插件内部定制技能可以在本仓
skills/直接维护,并且必须不出现在skills.lock.json中、必须显式登记到plugin-local-skills.json;vendor 工具会保留这些目录并拒绝未声明目录。 - Hooks、linters、commands、MCP 配置和可执行脚本仍由插件仓维护。
任何代码改动——无论大小——都必须 bump 版本并发布。PartMe.AI 插件市场 靠版本号感知更新:版本号不动,用户永远看不到「可更新」提示。
node scripts/bump-plugin.mjs codeguard patch # 文档/注释/小修复
node scripts/bump-plugin.mjs codeguard minor # 新功能
node scripts/bump-plugin.mjs codeguard major # 破坏性变更脚本自动完成:catalog.json 版本更新 + 全部 manifest 同步(codex 清单带
当日 +codex.日期 后缀)+ 三平台市场清单重新生成与校验。之后按脚本
提示提交并 push 两个仓库(本仓 + plugins 市场仓)。
插件仓 bump+push 只是第一步——ZCode/Codex/Kimi 感知更新看的是市场仓清单。 每次发版必须同步更新市场仓的 catalog 版本并重新生成清单:
cd <市场仓目录> # 本仓: workspace-agent-skills/full-stack-plugins python3 - <<'EOF' import json d = json.load(open("catalog.json")) for p in d["plugins"]: if p["id"] == "<插件id>": p["version"] = "<新版本号>" json.dump(d, open("catalog.json","w"), ensure_ascii=False, indent=2); open("catalog.json","a").write(" ") EOF node scripts/sync-marketplaces.mjs --write && node scripts/sync-marketplaces.mjs git add -A && git commit -m "release: <插件id> <版本>" && git push
.开头的目录与文件默认忽略(检查/保存/发现/全量扫描面):不扫描、不检查、不报告; 两个例外照常生效——入库安全检查照拦密钥模式(.env/*.pem等),linter 配置发现 (requiresConfig/linter_config_files)照常匹配点文件- 禁止改代码不 bump 版本(「小版本也要发」)
- 禁止手改 catalog.json 的 version 以外的生成产物、或手改三份市场清单——
它们只能由
scripts/bump-plugin.mjs与plugins/scripts/sync-marketplaces.mjs生成 - 版本号必须全链一致(catalog + 4 manifest),
sync-marketplaces校验会拦截不一致 - 插件本体放本仓根目录;
plugins/市场仓只存元数据,绝不物理包含插件代码