用途:MicroPatch 用于将 fork 中的定制功能整理为语义化、带版本的规范,并在上游升级后按功能意图重新实现,避免依赖原始 diff、rebase 或 merge 等易失效的方式。它同时支持创建(从现有 fork 提炼定制)与应用(在新上游版本上恢复定制)两种模式。
主要能力:以语义而非文本行编辑为核心,保留功能行为与意图;每个补丁对应一个连贯的定制;以 Definition of Done 判定功能是否被正确保留;适应上游结构变化,优先融入当前上游设计;若上游已实现部分功能则不重复引入;规范可独立于提交历史存在。
结构:每个 MicroPatch 独立一个文件夹,推荐形如 micropatch-your-feature-name/,内含 micropatch.md,可选 hints.diff(仅建议性)与 files/(存放大文件或实现产物)。多个定制应分为多个文件夹,功能不再需要时归档或删除。
格式:micropatch.md 至少包含 What It Is、Intent、Scope and Non-Goals、What It Does、Dependencies and Assumptions、Implementation Reference、Anchors、Definition of Done、Notes for Future Re-application 等章节,并含 version,可选 last_applied_upstream、risk(low/medium/high)、context。hints.diff 若存在仅为可选建议,不可机械套用;与 micropatch.md 冲突时以 micropatch.md 为准。
用法:创建模式参考 references/create.md,应用模式参考 references/apply.md,共享规则见 references/rules.md,示例见 examples/。应用时像维护者一样保留功能契约:行为不变即成功,即使实现形态改变也优先适配当前上游;在上游已覆盖部分功能时,只补缺失的保证。用户同时要求两者时,应先创建或完善 MicroPatch,再应用。
适用场景:维护 fork 定制、跨上游版本迁移功能、将散乱定制整理为可复用规范、让 agent 按语义恢复功能。
限制:MicroPatch 不是原始补丁文件,不保证自动干净应用;上游大幅变动时可能需改写代码位置而非回填旧代码。具体安装、命令、平台与价格资料暂未提供。