SuperAPI AI 工具集

sphere-layout-sync

通用与其它

查看项目

更新于 10-15 21:53

技能介绍

用途:该技能处理 go-sphere 生成项目的上游布局变更合并,也可用于把契约出现前创建的旧项目纳入布局契约。它强调不破坏项目代码、不静默回退布局修复。

主要能力:先按顺序读取 .sphere/layout.lock.json(布局、ref、基础修订)、.sphere/layout.json(所有权模式)、docs/LAYOUT_CONTRACT.md(权威协议)和 AGENTS.md(布局配置与扩展缝);项目自身副本与技能冲突时以项目为准。锁文件包含 schema_version、name、repository、ref、upstream_module、base_revision,未知 JSON 字段需保留。

合并规则:按 generated → layout_owned → mixed → project_owned 顺序首次匹配。generated 忽略上游内容,稍后由手写源重新生成;layout_owned 在本地等于记录基准时直接应用上游变更,否则三方合并;mixed 始终语义三方合并;project_owned 仅因上游变化绝不替换。比较前应排除 generated 文件。

更新流程:解析契约与锁,解析目标修订(未指定则取记录 ref 的当前提交);将基准与目标上游提交检出到独立临时目录;比较前把 upstream_module 改写为项目当前 Go 模块路径;按类别合并;谨慎处理删除和重命名;通过布局 Makefile 重新生成,再运行格式化、依赖检查、测试、lint 和构建,通常为 make gen/all、make check、make build,并审查完整差异;所有冲突解决且验证成功后才最后提交锁,更新 base_revision。若受阻,保持锁不变并报告受影响路径。

失败处理:遇到无法识别的 schema_version、记录基准不可达上游、必须覆盖 project_owned 文件、重新生成后输出仍漂移、测试或构建因合并决策失败等情况,应停止并报告,不自行臆断,锁保持不变。

旧项目采用:检查项目最早模板提交,将其 Git 树与可能的上游布局提交比较,仅在唯一匹配时记录修订;无唯一匹配时询问用户来源修订,不可推断方便的基础。确认后写入版本 1 锁并走正常更新流程;识别布局变体(standard/simple/bun/telegram)属于该步骤。

布局仓库发布清单:README 能力与 make help 输出准确;.sphere/layout.json 所有权模式不重叠;schema、proto 或 Wire 变更后重新生成所有派生输出;干净检出下 make check 与 make build 通过;供应商特定依赖只存在于相应布局;破坏性模板变更需文档化;不自动向下游应用数据库删除迁移。

报告内容:布局变体与锁状态;基准与目标修订;各类别已应用、合并、忽略和保留的摘要;每个冲突及解决方式;运行过的重新生成与验证命令及结果;base_revision 是否推进及原因。相关技能:日常功能工作用 sphere-feature-workflow;布局仓库的 Make 与 CI 正确性用 go-sphere-makefiles;若相关技能未安装,应在交接消息中说明并继续当前工作,不要停滞。