From c19f83b4138156580c4b4b1ec1a539c5edd51009 Mon Sep 17 00:00:00 2001 From: HIsheR Date: Fri, 23 Oct 2026 18:42:43 +0800 Subject: [PATCH] =?UTF-8?q?iter(f01):=20=E7=BB=84=E4=BB=B6=E6=95=B0?= =?UTF-8?q?=E6=BC=82=E7=A7=BB=E7=BA=B3=E5=85=A5=20verify=20=E9=97=A8?= =?UTF-8?q?=E7=A6=81=E5=B9=B6=E4=BF=AE=E6=AD=A3=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .ua/index.json | 2 +- AGENTS.md | 2 +- ARCHITECTURE.md | 2 +- packages/tools/cli/bin/ua.js | 21 +++++++++++++++++++++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.ua/index.json b/.ua/index.json index 271609f..1523392 100644 --- a/.ua/index.json +++ b/.ua/index.json @@ -1,6 +1,6 @@ { "$schema": "ui-arch-registry-index/0.1", - "generatedAt": "2026-10-23T10:14:36.972Z", + "generatedAt": "2026-10-23T10:41:39.918Z", "repoRoot": ".", "packages": [ { diff --git a/AGENTS.md b/AGENTS.md index 15d4376..c8b08b5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -21,7 +21,7 @@ - `packages/core/table-core`(@ui-arch/table-core):Headless 表格逻辑内核 - `packages/core/frame`(@ui-arch/frame):signal + hyperscript 微框架 -- `packages/skin/ui`(@ui-arch/ui):27 个 DOM 组件(表单 / 反馈 / 浮层 / 导航 / 表格),样式只消费令牌 +- `packages/skin/ui`(@ui-arch/ui):33 个 DOM 组件(表单 / 反馈 / 浮层 / 导航 / 表格),样式只消费令牌 - `packages/design/tokens`(@ui-arch/tokens):设计令牌 - `packages/tools/cli`(@ui-arch/cli):`ua` 命令行 + MCP 注册表服务(private) - `apps/demo`(@ui-arch/demo):交互演示,产物 apps/demo/dist/demo.html diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 2770ee9..e9404ab 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -34,7 +34,7 @@ ui-arch-mvp/ │ │ ├── table-core/ # 表格状态内核 │ │ └── frame/ # 信号 + hyperscript 微框架 │ ├── skin/ # 皮肤层(DOM 组件,可发布) -│ │ └── ui/ # 27 个组件 + ui.css +│ │ └── ui/ # 33 个组件 + ui.css │ ├── design/ # 资产层(可发布) │ │ └── tokens/ # --ua-* 设计令牌 │ └── tools/ # 工程层(private,不发布) diff --git a/packages/tools/cli/bin/ua.js b/packages/tools/cli/bin/ua.js index e6aa9c1..bedf6ea 100644 --- a/packages/tools/cli/bin/ua.js +++ b/packages/tools/cli/bin/ua.js @@ -593,6 +593,23 @@ function checkReadme(pkgs) { return issues; } +/*** 组件数漂移校验:AGENTS.md / ARCHITECTURE.md 中的「N 个组件」必须与 skin-dom 清单实际总数一致 ***/ +function checkCountDocs(actual) { + const issues = []; + const re = /(\d+)\s*个(?:\s*DOM\s*)?组件/; + for (const name of ['AGENTS.md', 'ARCHITECTURE.md']) { + const file = path.join(ROOT, name); + if (!fs.existsSync(file)) continue; // 卫语句:文档缺失不校验 + fs.readFileSync(file, 'utf8').split(/\r?\n/).forEach((line, i) => { + const m = line.match(re); + if (m && Number(m[1]) !== actual) { + issues.push(`${name}:${i + 1} 组件数「${m[1]}」与清单实际 ${actual} 不一致,请同步`); + } + }); + } + return issues; +} + /*** 清单一致性校验:组件文档块的 id / props 说明 / demo 锚点必须与代码和演示产物对齐 ***/ function cmdVerify() { const issues = []; @@ -628,6 +645,10 @@ function cmdVerify() { } } + const skinTotal = pkgs // skin-dom 清单组件总数,供文档数字漂移校验 + .filter((p) => p.type === 'skin-dom') + .flatMap((p) => p.docs?.components ?? []).length; + issues.push(...checkCountDocs(skinTotal)); issues.push(...checkReadme(pkgs)); if (issues.length) {