Prototype 是一个原型构建技能,其核心是“一次性代码只回答一个问题”,问题决定原型形态。
用途:先确定要回答的问题,再选择分支。若问题是“这套逻辑/状态模型对不对”,走 LOGIC.md 路线,构建一个极小的交互式终端应用,把状态机推到纸面难以推理的场景上;若问题是“它应该长什么样”,走 UI.md 路线,在单个路由上生成多个风格迥异的 UI 变体,通过 URL 查询参数和底部浮动栏切换。若问题确实含糊且用户不可联系,默认选更贴近周边代码的分支(后端模块选逻辑,页面或组件选 UI),并在原型顶部写明假设。
主要能力与规则:原型从第一天起就是一次性且明确标注的;代码放在实际使用位置附近,命名让读者一眼看出是原型而非生产代码;临时 UI 路由遵循项目既有路由约定,不新建顶层结构。必须一条命令即可运行(如 pnpm <name>、python <path>、bun <path> 等),让用户无脑启动。默认不做持久化,状态存在内存中;若问题明确涉及数据库,使用临时库或带“PROTOTYPE — wipe me”名称的本地文件。不做打磨:不写测试,不写超出可运行所需的错误处理,不做抽象。要暴露状态:每次操作(逻辑)或每次切换变体(UI)后,打印或渲染完整相关状态,让用户看到变化。完成后删除或吸收:问题得到回答后,要么删除原型,要么把已验证的决策并入真实代码。
使用方式:从用户提示、周边代码或直接询问用户识别问题,选择分支,按上述规则写代码,一条命令运行,观察状态变化,记录答案。
适用场景:需要快速验证状态机或业务逻辑、探索多种 UI 方向时。限制:不适合直接用于生产;不提供测试、错误处理或持久化;若问题含糊且用户不在,只能按代码上下文默认选择并声明假设。