refactor(releaser): 将 manage-release 改名为 releaser
- skills/manage-release -> skills/releaser(git mv,内容不变) - releaser 的 frontmatter/标题改名,description 保留旧名作为触发词 - skills/manage-release/ 保留为纯弃用占位(SKILL.md + README.md,指向 releaser), 已装软链与旧项目 .pouch.yaml 不再悬空或失效 - 同步或引用:AGENTS.md、README.md、docs/getting-started.md、orc(routing/SKILL/README)、 ack delivery、builder(SKILL/README/contract)、memory-distill、pouch onboard 与 suggest_skills - 测试:catalog 需列出旧名占位,新增弃用占位断言,orc children 纳入旧名占位
This commit is contained in:
+17
-17
@@ -2,7 +2,7 @@
|
||||
|
||||
pouch 是团队自研 skill 的仓库和安装工具。Skill 是给 Agent 看的工作说明书。你对着 Cursor、Claude Code 或 Codex 说话,Agent 按说明书干活。这份仓库里还有 CLI,用来把 skill 装到各 Agent。
|
||||
|
||||
这篇只讲日常会碰到的三件事:把 pouch 装上、用 manage-release 打正式版本、用 builder 构建 DEB 或 Docker 镜像。其它 skill 装上就能喊,需要时对 Agent 说「有哪些自研 skill」。
|
||||
这篇只讲日常会碰到的三件事:把 pouch 装上、用 releaser 打正式版本、用 builder 构建 DEB 或 Docker 镜像。其它 skill 装上就能喊,需要时对 Agent 说「有哪些自研 skill」。
|
||||
|
||||
## pouch 怎么工作
|
||||
|
||||
@@ -13,11 +13,11 @@ Skill 的正文只存在一份,在 `~/.pouch/skills/<name>/`。装到 Cursor
|
||||
|
||||
| 你想做的 | 对谁说 | 不要 |
|
||||
| ------------------- | -------------- | ----------------------- |
|
||||
| 打正式版本、annotated tag | manage-release | 让 builder 选下一个 SemVer |
|
||||
| 打 DEB 或 Docker 镜像 | builder | 让 manage-release 去构建或上传 |
|
||||
| 打正式版本、annotated tag | releaser | 让 builder 选下一个 SemVer |
|
||||
| 打 DEB 或 Docker 镜像 | builder | 让 releaser 去构建或上传 |
|
||||
|
||||
|
||||
manage-release 选定正式 SemVer 并打 annotated tag。builder 只读当前 HEAD:HEAD 恰好落在 `vX.Y.Z` 上就打正式包,否则打测试包。
|
||||
releaser 选定正式 SemVer 并打 annotated tag。builder 只读当前 HEAD:HEAD 恰好落在 `vX.Y.Z` 上就打正式包,否则打测试包。
|
||||
|
||||
## 安装 pouch
|
||||
|
||||
@@ -56,7 +56,7 @@ pouch doctor
|
||||
发版本和构建这两个,全局装一次,所有项目都能喊:
|
||||
|
||||
```bash
|
||||
pouch add manage-release -g -y
|
||||
pouch add releaser -g -y
|
||||
pouch add builder -g -y
|
||||
```
|
||||
|
||||
@@ -64,7 +64,7 @@ pouch add builder -g -y
|
||||
|
||||
```bash
|
||||
cd ~/code/my-app
|
||||
pouch add manage-release -y
|
||||
pouch add releaser -y
|
||||
pouch add builder -y
|
||||
```
|
||||
|
||||
@@ -77,21 +77,21 @@ pouch add builder -y
|
||||
打开已安装目标的 Agent。项目级安装要打开那个项目再说话;全局安装任意项目都可以。请求里写清 skill 名、目标和授权范围。
|
||||
|
||||
```text
|
||||
使用 manage-release,为已经合并到 main 的 1.6.0 发布 v1.6.0 tag。不要创建 Forge Release。
|
||||
使用 releaser,为已经合并到 main 的 1.6.0 发布 v1.6.0 tag。不要创建 Forge Release。
|
||||
用 builder 初始化这个项目。
|
||||
用 builder 构建当前版本的 DEB,先不要上传。
|
||||
```
|
||||
|
||||
人看各 skill 目录下的 `README.md`。`SKILL.md` 是给 Agent 的指令,不必通读。
|
||||
|
||||
## 用 manage-release 打新版本
|
||||
## 用 releaser 打新版本
|
||||
|
||||
代码已经合进默认分支、测试过了,要打正式 tag 时用它。它不构建 DEB,也不推镜像。
|
||||
|
||||
### 还没决定版本号
|
||||
|
||||
```text
|
||||
使用 manage-release 检查当前版本和这次改动,建议下一个版本号。只分析,不修改文件。
|
||||
使用 releaser 检查当前版本和这次改动,建议下一个版本号。只分析,不修改文件。
|
||||
```
|
||||
|
||||
Agent 会读项目版本规则、现有 tag 和实际改动,给出建议和依据。没有项目约定时,单一协调版本默认 SemVer,tag 形如 `v1.6.0`。用户输入 `v1.6.0` 时规范版本是 `1.6.0`,不要产生双前缀。
|
||||
@@ -101,7 +101,7 @@ Agent 会读项目版本规则、现有 tag 和实际改动,给出建议和依
|
||||
项目以 Git tag 作为版本来源,且不需要改 VERSION 文件或把 CHANGELOG 写回仓库时,走这条:
|
||||
|
||||
```text
|
||||
使用 manage-release,为已经合并到 main 的 1.6.0 发布 v1.6.0 tag。根据上一个稳定 tag 到目标 commit 的实际变化生成更新说明,把说明写入 annotated tag,并验证远端 tag 的 commit 和说明。不要创建 Forge Release。
|
||||
使用 releaser,为已经合并到 main 的 1.6.0 发布 v1.6.0 tag。根据上一个稳定 tag 到目标 commit 的实际变化生成更新说明,把说明写入 annotated tag,并验证远端 tag 的 commit 和说明。不要创建 Forge Release。
|
||||
```
|
||||
|
||||
请求里写清目标版本、基线分支、打到哪一步。没写 push、没写创建平台 Release,Agent 就不会做。只发 Git tag 时不要求 GitHub / GitLab / Gitea CLI,但 Git remote 必须可读写。
|
||||
@@ -113,10 +113,10 @@ Agent 会锁定远端目标 commit,生成带 Summary、Changes、Validation、
|
||||
权威版本文件或仓库内 CHANGELOG 必须随发布改掉时,才创建 `release/v1.6.0` 这类分支和 PR。可以一次说完,也可以拆开授权:
|
||||
|
||||
```text
|
||||
使用 manage-release 完成 1.6.0 发布:从 main 创建分支,完成版本更新和验证,创建 PR,检查通过后合并,推送 v1.6.0 tag。不要创建 Forge Release。
|
||||
使用 releaser 完成 1.6.0 发布:从 main 创建分支,完成版本更新和验证,创建 PR,检查通过后合并,推送 v1.6.0 tag。不要创建 Forge Release。
|
||||
```
|
||||
|
||||
中途停了,下次说「使用 manage-release 检查 v1.6.0 当前发布状态,从尚未完成的步骤继续。不要重复创建分支、PR、tag 或 release。」
|
||||
中途停了,下次说「使用 releaser 检查 v1.6.0 当前发布状态,从尚未完成的步骤继续。不要重复创建分支、PR、tag 或 release。」
|
||||
|
||||
要在 Gitea / GitHub 上建平台 Release 时,在请求里写明。没写就不会建。Forge Release 复用 tag 里同一份说明。
|
||||
|
||||
@@ -128,7 +128,7 @@ Agent 会锁定远端目标 commit,生成带 Summary、Changes、Validation、
|
||||
|
||||
builder 按统一契约打 DEB 和 Docker 镜像。项目根会多两个文件:`makefile.builder`(构建入口)和 `.env.builder`(发布凭据,不进 git)。它不改你已有的 `Makefile` 或 `.env`。
|
||||
|
||||
正式版本号仍由 manage-release 打 tag。builder 只读当前 HEAD,不调用 manage-release。
|
||||
正式版本号仍由 releaser 打 tag。builder 只读当前 HEAD,不调用 releaser。
|
||||
|
||||
### 接入一个项目
|
||||
|
||||
@@ -206,7 +206,7 @@ Docker 只有点名镜像时 Agent 才走。脏工作树默认拒绝发布。可
|
||||
|
||||
代码合进 `main` 且检查通过之后,按这个顺序:
|
||||
|
||||
1. 对 Agent:`使用 manage-release,为已经合并到 main 的 1.6.0 发布 v1.6.0 tag。不要创建 Forge Release。`
|
||||
1. 对 Agent:`使用 releaser,为已经合并到 main 的 1.6.0 发布 v1.6.0 tag。不要创建 Forge Release。`
|
||||
2. 确认远端 `v1.6.0` 指向那次 commit。
|
||||
3. checkout 到该 tag,或确保当前 HEAD 就是它。
|
||||
4. 对 Agent:`用 builder 构建当前版本的 DEB,先不要上传。`
|
||||
@@ -220,15 +220,15 @@ Docker 只有点名镜像时 Agent 才走。脏工作树默认拒绝发布。可
|
||||
- 在 `~/.cursor/skills/` 里直接改文件:改的是软链目标,应该改 `~/.pouch/skills/`。Claude Code 有时会把软链替换成普通文件,用 `pouch doctor --fix` 重建。
|
||||
- `pouch init builder` 这条路径不存在:对 Agent 说「用 builder 初始化」。
|
||||
- 请求里没写清授权:Agent 会分析或只做到本地,不会擅自 push tag 或上传包。
|
||||
- 工作区有未提交修改:builder 默认拒绝发布;manage-release 不会 stash 或覆盖你的文件。
|
||||
- 同名 tag 已在远端指向别的 commit:manage-release 会停,不会 force push。
|
||||
- 工作区有未提交修改:builder 默认拒绝发布;releaser 不会 stash 或覆盖你的文件。
|
||||
- 同名 tag 已在远端指向别的 commit:releaser 会停,不会 force push。
|
||||
- HEAD 不在稳定 tag 上却想打正式包:先打 tag,再构建。
|
||||
|
||||
## 还想看什么
|
||||
|
||||
- 仓库总览:[README.md](../README.md)
|
||||
- CLI 命令:[pouch/README.md](../pouch/README.md)
|
||||
- manage-release:[skills/manage-release/README.md](../skills/manage-release/README.md)
|
||||
- releaser:[skills/releaser/README.md](../skills/releaser/README.md)
|
||||
- builder:[skills/builder/README.md](../skills/builder/README.md)
|
||||
- 设计原则和编写规范:[AGENTS.md](../AGENTS.md)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user