iter(g120): 补新增组件落点清单

This commit is contained in:
HIsheR
2026-10-26 14:13:18 +08:00
parent 85e63455cd
commit 5a6c7a5ba0
2 changed files with 27 additions and 0 deletions
+19
View File
@@ -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/<id>.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('<demo 锚点>', ...)` 并**真实调用**该组件(verify 会查) |
| 8 | `README.md` | `<!-- ua:components -->` 区块补 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 三步;只加一个可选参数也要补文档行,否则双向校验失败。