From 5a6c7a5ba09f78da969b89f6a926d99fb6e50323 Mon Sep 17 00:00:00 2001 From: HIsheR Date: Mon, 26 Oct 2026 14:13:18 +0800 Subject: [PATCH] =?UTF-8?q?iter(g120):=20=E8=A1=A5=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E8=90=BD=E7=82=B9=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .ua/backlog.json | 8 ++++++++ AGENTS.md | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/.ua/backlog.json b/.ua/backlog.json index 4064a58..b20ea6e 100644 --- a/.ua/backlog.json +++ b/.ua/backlog.json @@ -1316,6 +1316,14 @@ "acceptance": "EmptyProps 新增 icon(unknown):字符串或图标 DOM 直接进图标位,缺省仍是 ⌀;图标位保持 aria-hidden,语义由 title / description 承担;文档参数表 / 手把手与演示(搜索无结果换成 🔍)同步;npm run check 全绿", "notes": "自补:可用性;一个可选参数透传,行为向后兼容", "status": "done" + }, + { + "id": "g120", + "title": "AGENTS.md 补新增组件落点清单", + "motivation": "本轮 20 次迭代里,每加一个组件都要现推一遍「要改哪些文件」:types / index / css / manifest 两处 / demo / README 三处 / AGENTS / ARCHITECTURE / docs,漏一处就靠 verify 报错来提醒,返工成本高;接手的 Agent 也没有一份照单打勾的清单", + "acceptance": "AGENTS.md「贡献新组件」章节补一张 10 行的落点表(每个落点写清具体动作与门禁原因),并说明改既有组件入参同样要走 manifest / docs 三步;npm run check 全绿", + "notes": "自补:Agent 文档完善;把本轮踩到的同步点固化成清单", + "status": "open" } ] } diff --git a/AGENTS.md b/AGENTS.md index 2f54447..a58612f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -62,3 +62,22 @@ 4. 皮肤包禁止硬编码颜色/间距,一律使用 `--ua-*` 令牌 5. 选择类状态一律存 rowKey,不存行索引 6. 改动后运行 `npm run index` 刷新注册表;新增组件记得在 manifest 的 `docs.components` 里补参数表与手把手步骤,`npm run docs` 会同步生成人类版文档站与 llms-full.txt + +## 新增组件落点清单(照单打勾,漏一处 `npm run check` 就会红) + +一个新组件要动 10 处,缺任何一处 verify 都会报错,别靠记忆: + +| # | 落点 | 具体动作 | +|---|---|---| +| 1 | `packages/skin/ui/src/.ts` | 组件实现(单文件 ≤ 200 行,导出带 `/*** */` 注释) | +| 2 | `packages/skin/ui/src/types.ts` | `<组件>Props` 接口 + 逐字段行尾注释;嵌套项类型(如 `TabItem`)也放这里 | +| 3 | `packages/skin/ui/src/index.ts` | 末尾追加 `export { xxx } from './xxx.js';` | +| 4 | `packages/skin/ui/ui.css` | 样式只消费 `--ua-*`(禁 `#hex`),动效要带 `prefers-reduced-motion` 兜底 | +| 5 | `packages/skin/ui/ua.manifest.json` → `api.exports` | 一行 `xxx(props):一句话说明` | +| 6 | 同上 → `docs.components` | `{ id, title, demo, props[], example, steps[] }`:props 里每个字段名必须在实现源码里真实出现,且 `<组件>Props` 的字段一个都不能漏(verify 双向校验) | +| 7 | `apps/demo/main.ts` | 新增 `section('', ...)` 并**真实调用**该组件(verify 会查) | +| 8 | `README.md` | `` 区块补 id、「分组:」行补归组、标题「共 N 个」与包说明里的数字 | +| 9 | `AGENTS.md` / `ARCHITECTURE.md` | 两处的「N 个组件」计数同步 | +| 10 | `npm run docs` | 重新生成 `llms-full.txt` 与 `apps/docs/index.html`(不跑 verify 会报 llms-full 漂移) | + +改**既有**组件的入参同样要走 5、6、10 三步;只加一个可选参数也要补文档行,否则双向校验失败。