SuperAPI AI 工具集

subtree-publish

通用与其它

查看项目

更新于 10-15 20:10

技能介绍

用途:把 monorepo 中的子目录(位于 <prefix>/<name>/)通过 git subtree push 同步到独立 GitHub 仓库,文件只保留一份,一条命令完成同步。

主要能力:--auto 模式检测最近一次 commit 是否涉及清单中的子项目并自动推送;首次注册新子项目(校验 README.md、gh repo create、git remote add、git subtree push、登记 config/subtree-skills.json、创建首个 Release);手动推送单个子项目;推送后按 SKILL.md 的 version 字段检查并创建 GitHub Release,Release Notes 优先取自 CHANGELOG.md;打包时排除 README.md、.DS_Store、archive/、output/、pycache、.env、DECISIONS.md、TASKS.md、非 example 的 config/*.json 等;支持非连续版本号。

使用方式:前置条件为当前目录是 monorepo 根目录、子目录位于 <prefix>/<name>/、已安装 git subtree、gh、jq。常用命令:bash scripts/subtree-push.sh --auto;bash scripts/subtree-push.sh <name> [--setup] [--dry-run];bash scripts/create-release.sh <name> [--dry-run]。独立仓库 remote 名统一为 <name>-standalone,仓库名默认 <name>.skill,可在 config/subtree-skills.json 用 repo 字段覆盖。

适用场景:提交涉及已注册子项目后,或手动请求推送到独立仓库时使用。

限制:不要用于初次创建 monorepo 或管理 git submodule;不要在独立仓库中直接修改文件;git subtree push 在大仓库上可能较慢;subtree 只推送已 commit 的文件,受根目录 .gitignore 控制;若 monorepo 用 symlink,git add 需改用真实物理路径 skills/<name>/...。依赖的安装方式、readme-profile.json 字段与环境变量、README 写作模板等细节以资料为准,未提供的收费标准暂未提供。