@sleighmaster/bmad 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -109,54 +109,44 @@
109
109
  </check>
110
110
  </step>
111
111
 
112
- <step n="3" goal="태그 생성 및 Push">
113
- <critical>🏷️ TAG CREATION - Git 태그 생성 원격 저장소 Push</critical>
112
+ <step n="3" goal="릴리즈 워크플로우 트리거">
113
+ <critical>🚀 RELEASE TRIGGER - GitHub Actions 릴리즈 워크플로우 실행</critical>
114
114
 
115
- <output>⚠️ **태그 생성 확인**
115
+ <output>⚠️ **릴리즈 확인**
116
116
 
117
117
  **버전:** {{new_version}}
118
- **대상 커밋:** {{target_commit}}
118
+ **대상 브랜치:** master (최신 커밋)
119
119
  **릴리즈 노트:** (위 내용 참조)
120
120
 
121
- 태그가 생성되면 GitHub Actions가 자동으로 릴리즈를 생성합니다.
121
+ GitHub Actions가 다음을 자동으로 수행합니다:
122
+ 1. CHANGELOG.md 생성 및 커밋
123
+ 2. CHANGELOG 커밋에 태그 생성
124
+ 3. GitHub Release 생성
125
+ 4. npm 패키지 배포
122
126
  </output>
123
127
 
124
- <ask>태그를 생성하시겠습니까? [y/n]</ask>
128
+ <ask>릴리즈 워크플로우를 실행하시겠습니까? [y/n]</ask>
125
129
 
126
130
  <check if="user confirms">
127
- <action>Annotated 태그 생성:
128
- git tag -a {{new_version}} -m "Release {{new_version}}
129
-
130
- {{release_notes}}"
131
+ <action>GitHub Actions 워크플로우 트리거:
132
+ gh workflow run release-on-tag.yml -f version={{new_version}}
131
133
  </action>
132
134
 
133
- <check if="태그 생성 성공">
134
- <output>✅ 태그 생성됨: {{new_version}}</output>
135
- </check>
136
-
137
- <check if="태그 생성 실패">
138
- <output>🚫 태그 생성 실패: {{error_message}}</output>
139
- <action>HALT</action>
140
- </check>
135
+ <check if="트리거 성공">
136
+ <output>✅ 릴리즈 워크플로우가 트리거되었습니다.
141
137
 
142
- <action>태그 Push:
143
- git push origin {{new_version}}
144
- </action>
145
-
146
- <check if="push 성공">
147
- <output>✅ 태그 Push 완료: {{new_version}}
148
-
149
- GitHub Actions가 릴리즈를 자동으로 생성합니다.
150
- 릴리즈 페이지: https://github.com/{{owner}}/{{repo}}/releases/tag/{{new_version}}
138
+ 워크플로우 실행 상태 확인:
139
+ gh run list --workflow=release-on-tag.yml --limit=1
151
140
  </output>
152
141
  </check>
153
142
 
154
- <check if="push 실패">
155
- <output>⚠️ 태그 Push 실패: {{error_message}}
143
+ <check if="트리거 실패">
144
+ <output>🚫 워크플로우 트리거 실패: {{error_message}}
156
145
 
157
- 로컬 태그는 생성되었습니다. 수동으로 push해주세요:
158
- git push origin {{new_version}}
146
+ 수동으로 실행해주세요:
147
+ GitHub Actions → Release → Run workflow → version: {{new_version}}
159
148
  </output>
149
+ <action>HALT</action>
160
150
  </check>
161
151
  </check>
162
152
 
@@ -166,17 +156,16 @@
166
156
  </check>
167
157
  </step>
168
158
 
169
- <step n="4" goal="릴리즈 완료 및 정리">
170
- <output>🎉 **릴리즈 완료!**
159
+ <step n="4" goal="릴리즈 완료 확인">
160
+ <output>🎉 **릴리즈 워크플로우 실행됨!**
171
161
 
172
162
  **버전:** {{new_version}}
173
- **태그:** {{new_version}}
174
163
  **릴리즈 URL:** https://github.com/{{owner}}/{{repo}}/releases/tag/{{new_version}}
175
164
 
176
- **다음 단계:**
177
- 1. GitHub에서 릴리즈 페이지 확인
178
- 2. 필요시 릴리즈 노트 추가 편집
179
- 3. 릴리즈 자산(assets) 업로드 (필요한 경우)
165
+ **확인 사항:**
166
+ 1. GitHub Actions 실행 완료 확인: gh run list --workflow=release-on-tag.yml --limit=1
167
+ 2. 릴리즈 페이지에서 CHANGELOG 및 릴리즈 노트 확인
168
+ 3. npm 패키지 배포 확인 (해당하는 경우)
180
169
  </output>
181
170
  </step>
182
171
 
@@ -1,9 +1,11 @@
1
1
  #!/bin/bash
2
2
  # BMad6GitHub - Pre-push Hook
3
- # master/main 브랜치로 직접 푸시 방지
3
+ # 1. master/main 브랜치로 직접 푸시 방지
4
+ # 2. 태그 푸시 시 CHANGELOG.md 업데이트 여부 검증
4
5
 
5
6
  # 푸시 대상 분석
6
7
  while read local_ref local_sha remote_ref remote_sha; do
8
+ # master/main 직접 푸시 차단
7
9
  if echo "$remote_ref" | grep -qE "refs/heads/(master|main)$"; then
8
10
  echo ""
9
11
  echo "=========================================="
@@ -18,6 +20,34 @@ while read local_ref local_sha remote_ref remote_sha; do
18
20
  echo ""
19
21
  exit 1
20
22
  fi
23
+
24
+ # 태그 푸시 시 CHANGELOG.md 업데이트 검증
25
+ if echo "$remote_ref" | grep -qE "^refs/tags/"; then
26
+ tag_name=$(echo "$remote_ref" | sed 's|refs/tags/||')
27
+
28
+ # 이전 태그 찾기
29
+ prev_tag=$(git tag --sort=-version:refname | grep -v "^${tag_name}$" | head -1)
30
+
31
+ if [ -n "$prev_tag" ]; then
32
+ # 이전 태그 이후 CHANGELOG.md가 변경되었는지 확인
33
+ changelog_changed=$(git diff --name-only "$prev_tag"..HEAD -- CHANGELOG.md 2>/dev/null)
34
+
35
+ if [ -z "$changelog_changed" ]; then
36
+ echo ""
37
+ echo "=========================================="
38
+ echo " ERROR: CHANGELOG.md가 업데이트되지 않았습니다!"
39
+ echo "=========================================="
40
+ echo ""
41
+ echo "태그 '${tag_name}' 푸시 전에 CHANGELOG.md를 업데이트해 주세요."
42
+ echo ""
43
+ echo " 1. /bmad-os-draft-changelog 실행"
44
+ echo " 2. CHANGELOG.md 커밋"
45
+ echo " 3. 태그 재생성 후 푸시"
46
+ echo ""
47
+ exit 1
48
+ fi
49
+ fi
50
+ fi
21
51
  done
22
52
 
23
53
  exit 0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleighmaster/bmad",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "BMad6GitHub CLI - BMAD + GitHub Integration installer",
5
5
  "type": "module",
6
6
  "bin": {