用途:prototype 是一个通过编写一次性代码来回答设计问题的技能。它的核心思路是:原型的形态由要回答的问题决定。
主要能力:使用时先判断正在回答哪类问题,并据此选择分支。若问题是“这段逻辑或状态模型是否合理”,则采用 LOGIC 分支:构建一个可分享的单个 HTML 文件,包含自由操作按钮和分步引导的标签页,把状态机推过一些难以在纸面推演的情况,并让非开发者也能驱动。若问题是“界面应该长什么样”,则采用 UI 分支:在同一路由上生成多个差异明显的 UI 变体,通过 URL 搜索参数和底部浮动栏切换。两个分支产物差异很大,若问题确实模糊且无法联系用户,则按周边代码判断(后端模块偏向逻辑,页面或组件偏向 UI),并在原型顶部说明该假设。
共同规则:原型从第一天起就是一次性的,并清晰标注;代码放在实际使用位置附近(被原型化的模块或页面旁边),命名让普通读者能看出这是原型而非生产代码;一次性 UI 路由遵循项目既有路由约定,不另造新的顶层结构。运行要简单:UI 原型通过项目任务运行器的一条命令启动(如 pnpm <name>、python <path>、bun <path>),逻辑演示是用户双击即可打开的单个 HTML 文件,启动无需思考。默认不做持久化,状态保存在内存中;若问题明确涉及数据库,则使用临时数据库或名称中带有“PROTOTYPE, wipe me”的本地文件。跳过打磨:不写测试,除保证原型可运行外不做错误处理,不做抽象,重点是快速学习。展示状态:每次操作后(逻辑)或每次切换变体时(UI),打印或渲染完整的相关状态,让用户看到变化。完成后捕获:把验证过的决策并入正式代码,将原型本身提交到一次性分支(不在主分支),在实现 issue 上留下指向该分支的上下文指针;同时在 issue 或提交中记录答案(结论及其解决的问题),主分支只保留验证过的决策。
适用场景:在纸面上难以推演的状态机或业务逻辑的合理性验证;界面方案的快速多版本探索;需要非开发者参与操作和判断的设计讨论。
限制:资料未提供安装方式、依赖要求、支持的平台或语言、性能与兼容性说明;原型本身为一次性代码,不适用于生产环境;默认不持久化状态。