# O.M.V. 帝江号 ## 开发规范 **补丁规范** 所有的更改必须被 `// OMV start` 和 `// OMV end` 包裹(必须单独起一行),如果单行更改则只需要在行末添加 `// OMV` 即可,新建文件的只需要在文件开头添加 `// OMV` 即可。 除非非常简单的更改,否则务必说明更改的内容 `// OMV start: register sql protocol`。 所有补丁必须遵循最小化修改的原则,在完成需求的情况下,务必保证对项目的修改最小,改动的数量也需要最小。 ## 开发指南 **初始化** ```sh bin/update ``` 克隆或拉取最新的上游 sing-box 到 `works/sing-box/`。 **生成工作目录** ```sh bin/apply ``` 将上游代码同步到 `works/core/`,并应用 `works/patch/` 中的所有补丁。 **修改代码** 直接编辑 `works/core/` 中的文件。 **保存修改为补丁** ```sh bin/generate ``` 对比 `works/core/` 与 `works/sing-box/`,将差异写入 `works/patch/`(按原目录结构,每个文件对应一个 `.patch`)。之后提交 `works/patch/` 即可。