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 一次过"的比例是否上升。
相关推荐
河南凹凸环境艺术设计15 小时前
性价比高的民宿酒店设计企业
大数据·人工智能·python
Eason_Lou15 小时前
【无标题】
前端·vue.js·html
饼饼学习空间智能15 小时前
家庭服务机器人训练数据怎么积累?仿真、真实采集与持续学习的技术路线分析
人工智能·算法·机器学习
千里念行客24015 小时前
业绩与创新双兑现!科伦博泰的Biopharma进阶之路
大数据·人工智能
_codemonster15 小时前
npm run dev 是在开发模式运行,怎么在生产环境运行
前端·npm·node.js
kyriewen16 小时前
我受够了复制报错去问 AI,花一下午给控制台做了个调试助手
前端·javascript·ai编程
深蓝海域知识库16 小时前
评学问练考:大模型AI智能学院——重塑学习培训
人工智能
漂流瓶jz16 小时前
【AI】一文读懂大模型生态:分类/参数/结构/训练/GPU/评测/排行/社区
人工智能·llm·openai
一点一木16 小时前
Hermes Desktop 重磅更新,Bot Mode 正式上线——把你的 AI 变成一支可协作的专属团队
人工智能·agent
xushichang123_17 小时前
客服中心想要依托 AI 升级客户服务体验,可选择哪些云联络中心架构方案?:优先评估 Amazon Connect+客服 AI Agent
人工智能