SuperAPI AI 工具集

prototype

编程与开发

查看项目

更新于 10-15 18:08

技能介绍

Prototype 是一项围绕「用一次性代码回答设计问题」的技能。其核心理念是:原型是一次性的、用来回答某个问题的代码,而问题的性质决定了原型的形态。

选择分支

首要步骤是识别正在回答哪个问题,依据用户的提示、周围代码,或在用户在场时直接询问:

  • 「这个逻辑 / 状态模型感觉对吗?」→ LOGIC.md。构建单个可分享的 HTML 文件(包含自由操作按钮,以及分标签的引导式走查),让状态机走查那些难以在纸面推演的案例,并且非开发人员也能操作。
  • 「这应该长什么样?」→ UI.md。在单一路由上生成若干截然不同的 UI 变体,可通过 URL 查询参数和底部浮动栏切换。

两个分支产出的成果差异很大,因此一旦选错,整个原型都会被浪费。如果问题确实模糊且无法联系到用户,就默认选择与周围代码更匹配的分支(后端模块 → 逻辑;页面或组件 → UI),并在原型顶部说明这一假设。

两个分支共通的规则

  • 从第一天起就是一次性的,并明确标注。把原型代码放在它实际将被使用的位置附近(紧邻它所原型化的模块或页面),使上下文显而易见,但命名要让随手看到的人明白这是原型而非生产代码。对于一次性的 UI 路由,遵循项目已有的路由约定,不要发明新的顶层结构。
  • 运行要简单。UI 原型从项目任务运行器的一条命令启动:pnpm <name>、python <path>、bun <path> 等。逻辑演示是一个用户双击即可打开的单个 HTML 文件。无论哪种方式,启动都无需思考。
  • 默认不做持久化。状态保存在内存中。持久化正是原型要检验的东西,而不是它应当依赖的东西。如果问题明确涉及数据库,就访问一个临时数据库或一个名称明确标注「PROTOTYPE, wipe me」的本地文件。
  • 跳过打磨。不写测试,不写超出使原型可运行所需的错误处理,不做抽象。重点在于快速学到东西。
  • 暴露状态。在每个操作之后(逻辑)或每次变体切换时(UI),打印或渲染完整的相关状态,让用户看到发生了什么变化。
  • 完成后加以保留。把任何已验证的决策融入真实代码,然后将原型本身作为一手资料保留下来:提交到一个一次性分支(不在 main 上),并在实现 issue 上留下指向该分支的上下文指针。同时把答案(结论以及它所解决的问题)记录在 issue 或提交中。main 分支只保留已验证的决策。

适用场景

当用户想要对某个状态模型或逻辑进行合理性检查,或想探索界面应该是什么样子时适用。

限制

该技能明确要求原型不做持久化、跳过打磨、不做抽象,因此不适合直接用于生产。关于具体安装命令、依赖、版本等信息,资料中暂未提供。