用途:prototype 是用于构建一次性(throwaway)原型来回答某个设计问题的技能。原型是回答问题的临时代码,问题的类型决定原型的形态。
主要能力与分支:先识别正在回答哪个问题——可从用户提示、周边代码判断,或直接询问用户。若问题是“这段逻辑/状态模型感觉对吗”,走 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 分支只保留已验证的决策。
限制:资料未提供具体安装命令、依赖、收费或平台信息。