Impeccable 新手教程

第三章 · /impeccable init 产品画像

每个新项目从 init 开始:它只问「不会随时间改变的产品事实」,写成 PRODUCT.md,之后所有命令都吃这份上下文。

1为什么第一条命令是 init

没有产品事实,Agent 的「设计决策」就只能瞎猜——而它猜的结果高度雷同,正是 AI 味的根源。

init 会先检查项目(技术栈、目录结构、已有视觉系统),然后只补真正的信息缺口:受众是谁、产品目的是什么、有什么硬约束、语气如何。答案不写进 prompt 就消失,而是落成仓库里的 PRODUCT.md,从此每个命令开工前都会读它。

官方的表述是:init 记录 「durable product truth」(持久产品真相),并且不会把这些事实与表面化的视觉方向混为一谈——视觉系统记在另一个文件 DESIGN.md 里。

2完整实例:给记账 App 跑一次 init

假设你有一个 Vite + React 的记账应用,下面是 Cursor CLI 里的真实节奏。

你:/impeccable init

Agent:扫完项目:Vite + React 18,TypeScript,无组件库,
       src/pages 下有 3 个页面,未见设计系统文档。
       需要确认 3 个产品事实:
       1) 目标用户是谁?使用场景?
       2) 有没有必须遵守的品牌约束(色 / 字体 / 合规)?
       3) 期望的产品语气?(克制 / 友好 / 极客……)

你:1) 自由职业者,碎片时间快速记账;
    2) 无硬性品牌约束;
    3) 安静、高效,不要营销腔。

Agent:已写入 PRODUCT.md(受众 / 目的 / 约束 / 语气)。
       最后一个问题——buildPath 选哪个?
       · comp:先产出组件草图,你过目后再进代码
       · code:直接在代码库里实现
       (选完会记入 .impeccable/config.json)

你:comp

Agent:buildPath=comp 已记录。视觉系统检测为空,
       首次 craft 时会先规划一套并写入 DESIGN.md。
       建议下一步:/impeccable craft 记账仪表盘

整个过程一两条消息就能结束,但这份 PRODUCT.md 会在之后的每一次 craft、critique、polish 里持续生效。

3buildPath:comp 还是 code

init 只问一次、记进 .impeccable/config.json,决定后面「动手前要不要先给你看草稿」。

选择行为适合谁
comp关键页面先出组件级草图 / 线框,方向确认后再写实现代码视觉敏感的新项目;想掌控方向的团队
code跳过草图阶段,直接按规划在代码库里实现后台工具、内部系统;已经清楚要什么的老项目

拿不准就选 comp:多一步确认,换来的是方向返工变少。想改也容易——直接编辑 .impeccable/config.json 即可,init 不会反复问。

4老项目先来一发 /impeccable document

项目里已经有一套顺手(或凑合)的视觉系统?让 Agent 先从代码里把它反向归纳成 DESIGN.md。

你:/impeccable document

Agent:读取 src/styles、tailwind.config、3 个页面代码,
       归纳出当前视觉系统并写入 DESIGN.md:
       · 主色 #0F766E(按钮 / 链接),辅助琥珀 #F59E0B
       · 字体:标题 Manrope,正文系统 UI
       · 圆角 8-12px,卡片白底、阴影偏淡
       发现 2 处不一致:登录页用了另一套蓝色、
       设置页标题字号不在字阶内。要顺手修吗?

这份 DESIGN.md 是后续 polish(对齐设计系统)和 extract(抽组件与设计令牌) 的基准。老项目的推荐顺序:document 归纳现状 → 你修订 → 之后照常 init 补产品事实。

记一下

至此项目里多了 PRODUCT.md(产品真相)、DESIGN.md(视觉系统)、.impeccable/config.json(buildPath 等配置)——它们都属于应该提交 git 的共享文件,完整清单见第八章。

Impeccable 新手教程