peach-release
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesepeach-release — 릴리스 일괄 처리
peach-release — 批量发布处理
peach-harness 저장소의 릴리스를 한 번에 처리한다.
두 버전 파일 동기화 → CHANGELOG.md 업데이트 → develop 커밋/푸시 → main PR 생성 → 머지 → GitHub Release 생성까지 자동화한다.
可一次性处理peach-harness仓库的全流程发布。
实现双版本文件同步→更新CHANGELOG.md→提交/推送至develop分支→创建指向main分支的PR→合并PR→生成GitHub Release的全自动化。
전제조건
前提条件
- peach-harness 저장소 루트에서 실행
- 브랜치에 체크아웃된 상태
develop - CLI 인증 완료
gh
- 必须在peach-harness仓库根目录下执行
- 已切换至分支
develop - 已完成CLI认证
gh
Workflow
工作流程
1단계: 상태 확인
第1步:状态检查
bash
git status && git branch && git log --oneline -5- develop 브랜치인지 확인한다. 아니면 중단하고 사용자에게 알린다.
- 미스테이지 변경사항이 있으면 사용자에게 보여주고 계속할지 확인한다.
bash
git status && git branch && git log --oneline -5- 确认是否为develop分支,若不是则中断流程并通知用户。
- 若存在未暂存的变更,则告知用户并确认是否继续执行。
2단계: 변경 내용 분석 및 버전 선택
第2步:变更内容分析及版本选择
bash
git log main..develop --oneline
git diff main..develop --stat분석 결과를 아래 형식으로 사용자에게 보여주고 버전 타입 선택을 요청한다.
📋 변경 내용 분석
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
커밋:
{커밋 해시} {커밋 메시지}
...
파일 변경:
Added : {새로 추가된 파일 목록}
Modified: {수정된 파일 목록}
Deleted : {삭제된 파일 목록}
분석 요약:
- {변경 내용 핵심 요약 1}
- {변경 내용 핵심 요약 2}
버전 선택 (현재: {현재 버전})
[1] patch → {현재버전+patch} (버그 수정, 문서 수정, 기존 파일 수정/삭제/이전)
[2] minor → {현재버전+minor} (새 스킬 추가, 신규 기능)
[3] major → {현재버전+major} (하위호환 파괴, 인터페이스 변경)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
버전 타입을 선택하세요 (1/2/3):사용자가 버전 타입을 선택하면 3단계로 진행한다.
bash
git log main..develop --oneline
git diff main..develop --stat将分析结果按照以下格式展示给用户,并请求用户选择版本类型。
📋 变更内容分析
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
提交:
{提交哈希} {提交信息}
...
文件变更:
新增 : {新增文件列表}
修改: {修改文件列表}
删除 : {删除文件列表}
分析摘要:
- {变更核心摘要1}
- {变更核心摘要2}
版本选择 (当前: {当前版本})
[1] patch → {当前版本+patch} (Bug修复、文档修改、现有文件修改/删除/迁移)
[2] minor → {当前版本+minor} (新增Skill、新增功能)
[3] major → {当前版本+major} (破坏向下兼容性、接口变更)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
请选择版本类型 (1/2/3):用户选择版本类型后进入第3步。
3단계: 전체 릴리스 계획 제시 및 단일 승인
第3步:完整发布计划展示及单次确认
선택된 버전으로 CHANGELOG.md 내용을 작성한 뒤, 전체 실행 계획을 한 번에 보여준다.
🚀 Release v{새버전} 릴리스 계획
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
버전: {현재버전} → {새버전} ({patch/minor/major})
📝 CHANGELOG.md 추가 내용:基于选择的版本生成CHANGELOG.md内容后,一次性展示全部执行计划。
🚀 Release v{新版本} 发布计划
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
版本: {当前版本} → {新版本} ({patch/minor/major})
📝 CHANGELOG.md 新增内容:[v{새버전}] - {YYYY-MM-DD}
[v{新版本}] - {YYYY-MM-DD}
Added
Added
- ...
- ...
Changed
Changed
- ...
- ...
Removed
Removed
- ...
- ...
Fixed
Fixed
- ...
📦 실행 순서:
- marketplace.json / plugin.json 버전 업데이트
- CHANGELOG.md 맨 위에 블록 추가
- git commit -m "Release v{새버전}"
- git push origin develop
- gh pr create --base main --head develop --title "Release v{새버전}"
- gh pr merge {PR번호} --merge --delete-branch=false
- gh release create v{새버전} --target main ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 위 계획대로 진행하시겠습니까? (진행 / 취소)
사용자가 **진행**을 승인하면 4단계를 순서대로 실행한다. **취소**하면 중단한다.- ...
📦 执行顺序:
- 更新marketplace.json / plugin.json版本
- 将版本区块添加到CHANGELOG.md顶部
- git commit -m "Release v{新版本}"
- git push origin develop
- gh pr create --base main --head develop --title "Release v{新版本}"
- gh pr merge {PR编号} --merge --delete-branch=false
- gh release create v{新版本} --target main ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 是否按照以上计划执行?(执行 / 取消)
用户确认**执行**则按顺序执行第4步所有操作,选择**取消**则中断流程。4단계: 일괄 실행
第4步:批量执行
승인 후 아래 작업을 순서대로 실행한다. 각 단계 완료 시 진행 상황을 출력한다.
确认后按顺序执行以下操作,每步完成后输出执行进度。
4-1. 두 버전 파일 동시 업데이트
4-1. 同步更新两个版本文件
반드시 두 파일을 동시에 같은 버전으로 업데이트한다. 불일치 시 auto update가 실패한다.
- →
.claude-plugin/marketplace.jsonplugins[0].version - →
.claude-plugin/plugin.jsonversion
必须同时将两个文件更新为相同版本,版本不一致会导致自动更新失败。
- →
.claude-plugin/marketplace.jsonplugins[0].version - →
.claude-plugin/plugin.jsonversion
4-2. CHANGELOG.md 업데이트
4-2. 更新CHANGELOG.md
3단계에서 작성한 버전 블록을 맨 위에 추가한다.
CHANGELOG.md- 해당 섹션이 없으면 생략한다 (빈 섹션 작성 금지).
- 각 항목은 한 줄 한국어로 간결하게 작성한다.
- 가 없으면 신규 생성한다. 파일 상단에 아래 헤더를 포함한다:
CHANGELOG.md
markdown
undefined将第3步生成的版本区块添加到的最顶部。
CHANGELOG.md- 没有对应的章节则省略(禁止生成空章节)。
- 每个条目用简短的中文单行描述。
- 若不存在则新建,文件顶部需包含以下头部内容:
CHANGELOG.md
markdown
undefinedChangelog
Changelog
keep-a-changelog 포맷을 따릅니다. 버전은 Semantic Versioning을 따릅니다.
CHANGELOG.md 포맷 (keep-a-changelog 표준):
```markdown遵循keep-a-changelog格式。 版本遵循Semantic Versioning规范。
CHANGELOG.md格式(keep-a-changelog标准):
```markdown[v{버전}] - {YYYY-MM-DD}
[v{版本}] - {YYYY-MM-DD}
Added
Added
- 새로 추가된 스킬, 기능, 파일
- 新增的Skill、功能、文件
Changed
Changed
- 기존 기능 개선, 워크플로우 변경, 구조 개편
- 现有功能优化、工作流变更、结构重构
Removed
Removed
- 제거된 스킬, 파일, 기능
- 移除的Skill、文件、功能
Fixed
Fixed
- 버그 수정, 오타 수정
분류 기준:
| 커밋 prefix / 파일 변화 | 섹션 |
|----------------------|------|
| `feat:`, 새 SKILL.md 추가 | Added |
| `refactor:`, 기존 SKILL.md 수정, references 재구성 | Changed |
| 파일 삭제, 이전 | Removed |
| `fix:`, 오타 수정 | Fixed |- Bug修复、错别字修正
分类标准:
| 提交前缀 / 文件变化 | 对应章节 |
|----------------------|------|
| `feat:`、新增SKILL.md | Added |
| `refactor:`、修改现有SKILL.md、重构references | Changed |
| 文件删除、迁移 | Removed |
| `fix:`、错别字修正 | Fixed |4-3. 커밋
4-3. 提交代码
bash
git add .claude-plugin/marketplace.json .claude-plugin/plugin.json CHANGELOG.md
git commit -m "Release v{버전}"bash
git add .claude-plugin/marketplace.json .claude-plugin/plugin.json CHANGELOG.md
git commit -m "Release v{版本}"4-4. develop 푸시
4-4. 推送至develop分支
bash
git push origin developbash
git push origin develop4-5. main PR 생성
4-5. 创建指向main分支的PR
PR body는 CHANGELOG.md에 방금 작성한 버전 블록 내용을 그대로 사용한다.
bash
gh pr create \
--base main \
--head develop \
--title "Release v{버전}" \
--body "$(cat <<'EOF'PR正文直接使用刚刚写入CHANGELOG.md的版本区块内容。
bash
gh pr create \
--base main \
--head develop \
--title "Release v{版本}" \
--body "$(cat <<'EOF'Release v{버전}
Release v{版本}
변경 사항
变更内容
{CHANGELOG.md 해당 버전 블록의 내용}
{CHANGELOG.md对应版本区块内容}
버전
版本信息
4-6. PR 머지
4-6. 合并PR
bash
gh pr merge {PR번호} --merge --delete-branch=false: develop 브랜치는 삭제하지 않는다.--delete-branch=false
bash
gh pr merge {PR编号} --merge --delete-branch=false:不删除develop分支。--delete-branch=false
4-7. GitHub Release 생성
4-7. 生成GitHub Release
릴리즈 노트는 CHANGELOG.md 해당 버전 블록을 그대로 사용한다.
bash
gh release create v{버전} \
--title "v{버전}" \
--notes "..." \
--target main发布说明直接使用CHANGELOG.md对应版本区块内容。
bash
gh release create v{版本} \
--title "v{版本}" \
--notes "..." \
--target main5단계: 완료 보고
第5步:完成报告
✅ Release v{버전} 완료
- develop 커밋: {커밋 해시}
- PR: {PR URL}
- main 머지: 완료
- GitHub Release: {Release URL}✅ Release v{版本} 已完成
- develop提交: {提交哈希}
- PR: {PR链接}
- 合并至main: 已完成
- GitHub Release: {Release链接}규칙
规则
- develop 브랜치에서만 버전을 업데이트한다. main 직접 작업 금지.
- 버전 타입(major/minor/patch)은 사용자가 직접 선택한다. AI는 분석 결과만 제공한다.
- 승인은 전체 계획을 한 번에 보여준 뒤 1회만 받는다. 단계별 개별 승인 금지.
- 두 버전 파일은 항상 동일한 버전으로 유지한다.
- CHANGELOG.md는 항상 최신 버전이 맨 위에 위치한다.
- PR body와 GitHub Release 노트는 CHANGELOG.md 내용을 기준으로 작성한다 (중복 작성 금지).
- 仅可在develop分支更新版本,禁止直接操作main分支。
- 版本类型(major/minor/patch)由用户手动选择,AI仅提供分析结果。
- 需一次性展示全部执行计划后仅进行1次确认,禁止分步骤单独确认。
- 两个版本文件必须始终保持版本一致。
- CHANGELOG.md必须始终将最新版本放在最顶部。
- PR正文和GitHub Release说明均基于CHANGELOG.md内容生成(禁止重复编写)。