peach-release

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

peach-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
    브랜치에 체크아웃된 상태
  • gh
    CLI 인증 완료

  • 必须在peach-harness仓库根目录下执行
  • 已切换至
    develop
    分支
  • 已完成
    gh
    CLI认证

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

  • ...
📦 실행 순서:
  1. marketplace.json / plugin.json 버전 업데이트
  2. CHANGELOG.md 맨 위에 블록 추가
  3. git commit -m "Release v{새버전}"
  4. git push origin develop
  5. gh pr create --base main --head develop --title "Release v{새버전}"
  6. gh pr merge {PR번호} --merge --delete-branch=false
  7. gh release create v{새버전} --target main ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 위 계획대로 진행하시겠습니까? (진행 / 취소)

사용자가 **진행**을 승인하면 4단계를 순서대로 실행한다. **취소**하면 중단한다.
  • ...
📦 执行顺序:
  1. 更新marketplace.json / plugin.json版本
  2. 将版本区块添加到CHANGELOG.md顶部
  3. git commit -m "Release v{新版本}"
  4. git push origin develop
  5. gh pr create --base main --head develop --title "Release v{新版本}"
  6. gh pr merge {PR编号} --merge --delete-branch=false
  7. gh release create v{新版本} --target main ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 是否按照以上计划执行?(执行 / 取消)

用户确认**执行**则按顺序执行第4步所有操作,选择**取消**则中断流程。

4단계: 일괄 실행

第4步:批量执行

승인 후 아래 작업을 순서대로 실행한다. 각 단계 완료 시 진행 상황을 출력한다.
确认后按顺序执行以下操作,每步完成后输出执行进度。

4-1. 두 버전 파일 동시 업데이트

4-1. 同步更新两个版本文件

반드시 두 파일을 동시에 같은 버전으로 업데이트한다. 불일치 시 auto update가 실패한다.
  • .claude-plugin/marketplace.json
    plugins[0].version
  • .claude-plugin/plugin.json
    version
必须同时将两个文件更新为相同版本,版本不一致会导致自动更新失败。
  • .claude-plugin/marketplace.json
    plugins[0].version
  • .claude-plugin/plugin.json
    version

4-2. CHANGELOG.md 업데이트

4-2. 更新CHANGELOG.md

3단계에서 작성한 버전 블록을
CHANGELOG.md
맨 위에 추가한다.
  • 해당 섹션이 없으면 생략한다 (빈 섹션 작성 금지).
  • 각 항목은 한 줄 한국어로 간결하게 작성한다.
  • CHANGELOG.md
    가 없으면 신규 생성한다. 파일 상단에 아래 헤더를 포함한다:
markdown
undefined
将第3步生成的版本区块添加到
CHANGELOG.md
最顶部
  • 没有对应的章节则省略(禁止生成空章节)。
  • 每个条目用简短的中文单行描述。
  • 若不存在
    CHANGELOG.md
    则新建,文件顶部需包含以下头部内容:
markdown
undefined

Changelog

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 develop
bash
git push origin develop

4-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对应版本区块内容}

버전

版本信息

  • {이전 버전} → {새 버전}
  • 변경 유형: {patch/minor/major}
🤖 Generated with Claude Code EOF )"
undefined
  • {旧版本} → {新版本}
  • 变更类型: {patch/minor/major}
🤖 Generated with Claude Code EOF )"
undefined

4-6. PR 머지

4-6. 合并PR

bash
gh pr merge {PR번호} --merge --delete-branch=false
--delete-branch=false
: develop 브랜치는 삭제하지 않는다.
bash
gh pr merge {PR编号} --merge --delete-branch=false
--delete-branch=false
:不删除develop分支。

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 main

5단계: 완료 보고

第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内容生成(禁止重复编写)。