Pencil.dev 设计 → 规格 → 代码 → 校验

0、先破后立:别把 Pencil.dev 当"截图生成代码工具",那样一致通道一定断

常见误区三件事:

  1. 只喂一张设计图:没组件规范、没 token,模型只能猜,出来必漂。
  2. 只看能不能跑:能跑不代表和设计一致;差 4px、状态少一套,后面返工最贵。
  3. 让它直接写整页:页面越大越容易混乱;应先组件化,再拼装。

你的目标是:让 Pencil.dev 产出"可验证的一致性",而不是"像"。


1、交付:Windows 上先把"输入物料"做对,通道才通

一句话中心论点:输入统一,输出才可能统一。

建议你把输入分成三层,按顺序喂给 Pencil.dev(或在项目空间里固定下来):

  • A. 设计源(Design Source)

    • Figma 链接/文件(如果你们用 Figma)
    • 页面只选 1--2 个代表性页面:列表页、表单页最优先
    • 重点不是页面多,而是状态全(hover/active/disabled/loading/empty/error)
  • B. 设计规范(Spec)

    • 色彩、字号、间距、圆角、阴影、栅格
    • 组件清单:Button/Input/Select/Modal/Table/Toast...
    • 文案口径:按钮动词、错误提示语气
  • C. 工程目标(Code Target)

    • 技术栈:React/Vue/Next.js、Tailwind/Styled-components、组件库(如 MUI/AntD)
    • 目录结构与命名:components/、features/、pages/
    • 约束:不改现有主题、不新增依赖、TypeScript 必须通过

在 Windows 上的实际动作:把这些内容整理成一个项目根目录的"协作包",例如:

  • /docs/design-spec.md(文字规范)
  • /docs/ui-tokens.json(token)
  • /docs/pencil-rules.md(给 Pencil 的生成规则:必须用现有组件、输出 diff 等)

2、可控:把 Pencil.dev 的生成变成"组件优先",先锁组件再锁页面

一句话中心论点:一致性来自组件,不来自页面。

推荐工作流(Windows 上也一样适用):

  1. 先生成/对齐 UI Tokens

    • 颜色(primary/secondary/success/warn/danger)
    • 字体层级(H1/H2/body/caption)
    • spacing(4/8/12/16/24/32...)
    • radius、shadow
      然后让 Pencil.dev 在生成代码时"只引用 token",不要写死 #1677ff14px 这种散弹。
  2. 再做组件映射(Design Component → Code Component)

    • 设计里的 Button = 代码里的 <Button variant="primary" size="md" />
    • Input、Select、Modal 同理
      你要的是"对照表",有了这个,页面拼起来才不散。
  3. 最后才拼页面

    • 页面只做布局与数据绑定
    • 视觉细节尽量回到组件里改,别在页面里补丁式修样式

3、复现:Windows 上最实用的是"同一条指令,反复生成都不跑偏"

一句话中心论点:能复现的通道,才配叫通道。

你可以用三招把复现做实:

  • 固定生成指令模板 (写在 pencil-rules.md 里)

    例:

    • 输出必须为 git diff
    • 仅修改 src/componentssrc/pages/xxx
    • 禁止新增依赖
    • 必须通过 npm testnpm run lint
    • 样式必须使用 tokens + 现有组件,不允许随意新建 class
  • 小步提交

    一次只让它做一个组件或一个页面区块(Header、Filter bar、Table 区),别让它"一次写完整页"。

  • 回归样例页

    做一个 UI Playground 页面,把所有组件状态都摆出来。之后每次生成/修改,都用它对比。


4、成本:用好 Pencil.dev 的省钱点在"少返工",不是"省几分钟编码"

一句话中心论点:节省的是沟通轮次与 UI 对齐轮次。

Windows 场景里很常见的是:设计师在 Figma,工程师在 VS Code,来回截图标注。你可以把成本压下去:

  • 把"对齐"前置成规则:token + 组件映射先做完,后面生成就少扯皮
  • 让 Pencil.dev 产出自检清单:改了什么、影响哪些页面、怎么验证
  • 把验收变成可执行:给出运行命令、路由入口、测试点,而不是"你看下对不对"

5、安全:Windows 上也要把权限、数据、仓库边界定清

一句话中心论点:设计到代码打通以后,权限要更谨慎,而不是更随意。

建议最少做到:

  • Pencil.dev 的仓库权限:优先只读或仅 PR 分支写入
  • 禁止把密钥、用户数据样例直接塞进提示词或文档
  • 输出默认走 PR,让人类 Review;重要模块加 CODEOWNERS

6、Windows 使用建议(偏操作层):让工具链顺手,产出才稳定

一句话中心论点:顺手的环境配置,会直接影响一致通道能否持续跑。

建议配置组合:

  • Windows Terminal + WSL2(推荐) :在 WSL 跑 node、lint、test,减少环境差异

  • VS Code Remote - WSL:编辑体验顺滑,命令行一致

  • Git 工作流固定

    • main 只合 PR
    • pencil/* 分支专门接 Pencil 输出
    • 每次生成前先 git status 干净,生成后立刻跑 lint/test
  • 截图与标注工具:Windows 自带截图 + 标注,用于把"差异点"快速喂回规则文档(不是喂到聊天里就完事)

如果你们不想上 WSL,也行,但要统一:Node 版本、包管理器、字体渲染(会影响视觉对比),否则"你机子上对我机子上不对"会反复出现。


快速测评清单(你照着跑一次,就知道是不是"真正打通")

  1. Token 纯度:生成的样式里,硬编码色值/字号出现次数是否接近 0。
  2. 组件复用率:页面是否主要由现有组件拼出,而不是大量新建临时样式。
  3. 状态覆盖:Button/Input/Modal 等是否含 disabled/loading/error/empty 等关键态。
  4. 差异回灌:每次发现 UI 偏差,是否能回写到 tokens 或组件映射里,下次不再犯。
  5. 生成稳定性:同一指令跑 3 次,目录结构与实现是否收敛。
  6. 门禁通过率:lint/test/build 是否一次过;不过的原因是否集中、可规则化。
  7. PR 可读性:diff 是否小、说明是否清楚、验证步骤是否可执行。
  8. 验收效率:设计验收从"截图标注多轮"变成"按 checklist 一次过"的比例是否上升。
相关推荐
Deepoch2 小时前
Deepoc具身模型开发板:巡检机器人的“全天候工业视觉”中枢
人工智能·科技·机器人·开发板·巡检机器人·具身模型·deepoc
TON_G-T2 小时前
深入学习webpack-tapable
前端·学习·webpack
AI精钢2 小时前
Sora死了
人工智能·云原生·aigc
kyle~2 小时前
EfficientNet 分类器---协同缩放网络的三个维度深度 宽度 分辨率
人工智能·计算机视觉·机器人
xinyaozixun2 小时前
大国酿造 匠韵启程——燕京A10高端新品暨代言人官宣正式发布
大数据·人工智能
云烟成雨TD2 小时前
Spring AI 1.x 系列【12】Advisors API:AI 交互拦截增强
java·人工智能·spring
工边页字2 小时前
AI产品面试题:什么是 Function Calling?
前端·人工智能·后端
Mintopia2 小时前
一份合格的软件 VI 文字文档简单版
前端·css·人工智能
四千岁2 小时前
如何精准统计 Token 消耗,使用对账工具控制成本?
前端·javascript·vue.js