Skip to content

v0.2.0 · 门禁容忍 CRLF + 第 3 步判据行改旗标形态

Choose a tag to compare

@MPFF0104 MPFF0104 released this 10 Oct 17:35
· 5 commits to main since this release

影响面

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 的 contractVersion 1 → 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 的「已知边界」一节为准。