Repository navigation
v0.2.0 · 门禁容忍 CRLF + 第 3 步判据行改旗标形态
影响面
Windows 取用者按默认设置 git clone 后,材料自带门禁不再误报红。
| 面 | v0.1.0 行为 | v0.2.0 行为 |
|---|---|---|
默认 clone(CRLF 工作副本)跑 --self |
ok: false / exit 1 / 4 个 error(skill.crlf · skill.frontmatter-keys · skill.description-unquoted · skill.name-mismatch) |
ok: true / exit 0 / 1 warn + 1 info |
SKILL.md 第 3 步判据行(照抄) |
check-plugin: Unexpected argument … / exit 2 |
exit 0 / ok: true |
- 根因:
scripts/lib/skill-scan.mjs的 frontmatter / body 定界只认\n---\n,CRLF 下解析为空 ⇒ 连带 3 条 error。现改为frontmatterBounds()(\r?\n---\r?\n容忍)。 skill.crlf由 error 降为 warn:宿主自己的 skill 发现吃 CRLF(实测照常DISCOVERED/LOADED)⇒ 原来的硬红是误报;行尾规范仍会在输出里被点名。SKILL.md:41与references/build-a-package.md:62 / :74三处把位置参数改成--plugin-dir <包目录>。- 脚本契约:
check-plugin.mjs的contractVersion1 → 2(--self的退出码与problems[]集合变了)。其余三个脚本未动。 - 成品束仍是 38 条(
git ls-files= 38);README 未动。
取用者要做什么
- 不需要改任何调用方式。把材料更新到本 tag 即可(重新 clone,或
git -C <束> fetch --tags后git -C <束> checkout v0.2.0)。 - 唯一例外:如果你把
SKILL.md第 3 步那条命令抄进了自己的脚本 —— 把<包目录>位置参数改成--plugin-dir <包目录>(旧形态在 v0.1.0 上同样会exit 2,与版本无关)。
复算命令
git clone https://github.com/MPFF0104/dsh-plugin-dev-mpff.git <scratch> # Windows 默认配置即可(系统级 core.autocrlf=true)
node <scratch>/dsh-plugin-dev-mpff/scripts/check-plugin.mjs --self ⇒ exit 0 ∧ ok: true
node <scratch>/dsh-plugin-dev-mpff/scripts/check-plugin.mjs --plugin-dir <scratch>/dsh-plugin-dev-mpff/templates/host-only ⇒ exit 0 ∧ ok: true
git -C <scratch> ls-files | wc -l ⇒ 38
git -C <scratch> tag -n1 v0.2.0 ⇒ 首行含「触及面:D1」
本版只修这两处可复现的不一致,v0.1.0 的已知边界(5 处强制标注 + 4 处可写边界)一条未动,仍以 v0.1.0 的「已知边界」一节为准。