用途:同步 Basecamp SDK 的 Smithy 规范,使其与上游 Basecamp API(bc3)的变更保持一致。通过比对 bc3 仓库中跟踪路径与 spec/api-provenance.json 中记录的最后同步版本来判断是否需要更新。\n\n主要能力:支持 check、sync、update-rev 等模式;检查 doc/api/ 文档与 app/controllers/ 实现自上次同步以来的变更,按 API 域(todos、messages、people 等)汇总;可识别缺失操作、字段变更与新参数,提出并应用 Smithy 规范修改;重新生成多语言代码并更新修订版本号。\n\n使用方式:先读取 spec/api-provenance.json 获取 bc3 上次同步版本,再用 gh api 比较命令查看变更文件。sync 模式下拉取上游文档、对照 spec/basecamp.smithy 与 spec/overlays/,确认后应用修改,并依次执行 make smithy-build、make -C go generate、make url-routes、make ts-generate && make ts-generate-services、make rb-generate && make rb-generate-services、make provenance-sync、make check。最后用 gh api repos/basecamp/bc3/commits/HEAD 获取新 SHA,写入 provenance 文件并重新运行 make provenance-sync。\n\n适用场景:Basecamp SDK 维护者在上游 API 文档或控制器逻辑变更后,需要同步 Smithy 规范并重生成各语言绑定。\n\n限制:bc3 是唯一权威来源,公开的 basecamp/bc3-api 仓库仅作文档镜像,不作为来源输入;check 模式在报告变更后停止;其余细节以项目自身文档为准。
api-sync
编程与开发
更新于 10-15 20:05