@sleighmaster/bmad 1.3.1 → 1.3.2

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.
@@ -0,0 +1,30 @@
1
+ # git-cliff configuration for CHANGELOG generation
2
+ # https://git-cliff.org
3
+
4
+ [changelog]
5
+ header = "# Changelog\n\n"
6
+ body = """
7
+ ## [{{ version }}] - {{ timestamp | date(format="%Y-%m-%d") }}
8
+ {% for group, commits in commits | group_by(attribute="group") %}
9
+ ### {{ group | upper_first }}
10
+ {% for commit in commits %}
11
+ - {{ commit.message | split(pat="\n") | first }}
12
+ {%- endfor %}
13
+ {% endfor %}
14
+ """
15
+ footer = ""
16
+ trim = true
17
+
18
+ [git]
19
+ conventional_commits = true
20
+ filter_unconventional = true
21
+ commit_parsers = [
22
+ { message = "^feat", group = "Features" },
23
+ { message = "^fix", group = "Bug Fixes" },
24
+ { message = "^docs", group = "Documentation" },
25
+ { message = "^refactor", group = "Refactor" },
26
+ { message = "^test", group = "Testing" },
27
+ { message = "^chore", group = "Miscellaneous" },
28
+ ]
29
+ filter_commits = false
30
+ tag_pattern = "v[0-9]*"
@@ -0,0 +1,49 @@
1
+ # BMAD GitHub Release Workflow with CHANGELOG automation
2
+ name: Release on Tag
3
+
4
+ on:
5
+ push:
6
+ tags:
7
+ - 'v*'
8
+
9
+ permissions:
10
+ contents: write
11
+
12
+ jobs:
13
+ release:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+
21
+ - name: Install git-cliff
22
+ run: |
23
+ curl -sSfL https://github.com/orhun/git-cliff/releases/download/v2.7.0/git-cliff-2.7.0-x86_64-unknown-linux-gnu.tar.gz | tar xz
24
+ sudo mv git-cliff-2.7.0/git-cliff /usr/local/bin/
25
+
26
+ - name: Generate CHANGELOG
27
+ run: git-cliff --config cliff.toml --output CHANGELOG.md --verbose
28
+
29
+ - name: Commit CHANGELOG and move tag
30
+ run: |
31
+ git config user.name "github-actions[bot]"
32
+ git config user.email "github-actions[bot]@users.noreply.github.com"
33
+ git add CHANGELOG.md
34
+ if ! git diff --staged --quiet; then
35
+ git commit -m "docs: update CHANGELOG for ${{ github.ref_name }}"
36
+ git push origin HEAD:${{ github.event.repository.default_branch }}
37
+ # Move tag to include CHANGELOG commit
38
+ git tag -f ${{ github.ref_name }}
39
+ git push origin ${{ github.ref_name }} --force
40
+ fi
41
+
42
+ - name: Create GitHub Release
43
+ uses: softprops/action-gh-release@v2
44
+ with:
45
+ generate_release_notes: true
46
+ draft: false
47
+ prerelease: ${{ contains(github.ref, '-alpha') || contains(github.ref, '-beta') || contains(github.ref, '-rc') }}
48
+ env:
49
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,120 @@
1
+ <workflow>
2
+ <critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
3
+ <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
4
+ <critical>Communicate all responses in {communication_language}</critical>
5
+
6
+ <step n="1" goal="환경 확인">
7
+ <critical>📋 CHANGELOG SETUP - 프로젝트에 CHANGELOG 자동 생성 기능 설정</critical>
8
+
9
+ <output>📋 **CHANGELOG 자동화 설정**
10
+
11
+ 이 워크플로우는 프로젝트에 다음 기능을 추가합니다:
12
+ - cliff.toml (git-cliff 설정 파일)
13
+ - release-on-tag.yml 업데이트 (CHANGELOG 자동 생성 포함)
14
+
15
+ **동작 방식:**
16
+ 1. 태그 푸시 (예: git tag v1.0.0 && git push origin v1.0.0)
17
+ 2. GitHub Actions가 CHANGELOG.md 자동 생성
18
+ 3. CHANGELOG 커밋 후 태그 이동
19
+ 4. GitHub Release 생성
20
+
21
+ </output>
22
+
23
+ <action>git repository 확인: git rev-parse --git-dir</action>
24
+ <check if="git repository NOT detected">
25
+ <output>⚠️ Git 저장소가 감지되지 않습니다. CHANGELOG 설정을 위해 Git 저장소가 필요합니다.</output>
26
+ <action>HALT</action>
27
+ </check>
28
+
29
+ <action>.github/workflows 디렉토리 확인</action>
30
+ <check if=".github/workflows NOT detected">
31
+ <output>⚠️ .github/workflows 디렉토리가 없습니다.
32
+ 먼저 /bmad-bmm-github-setup 을 실행하여 GitHub 설정을 완료해주세요.</output>
33
+ <action>HALT</action>
34
+ </check>
35
+ </step>
36
+
37
+ <step n="2" goal="기존 설정 확인">
38
+ <action>기존 cliff.toml 확인</action>
39
+
40
+ <check if="cliff.toml 존재">
41
+ <output>⚠️ 기존 cliff.toml이 발견되었습니다.</output>
42
+ <ask>기존 cliff.toml을 덮어쓰시겠습니까? [y/n]</ask>
43
+ <check if="user cancels">
44
+ <output>ℹ️ cliff.toml 유지</output>
45
+ <action>{{skip_cliff}} = true</action>
46
+ </check>
47
+ </check>
48
+
49
+ <action>기존 release-on-tag.yml 확인</action>
50
+ <check if="release-on-tag.yml 존재">
51
+ <output>📁 기존 release-on-tag.yml이 발견되었습니다.
52
+ CHANGELOG 자동화 버전으로 교체합니다.</output>
53
+ <ask>release-on-tag.yml을 CHANGELOG 버전으로 교체하시겠습니까? [y/n]</ask>
54
+ <check if="user cancels">
55
+ <output>❌ CHANGELOG 설정 취소됨</output>
56
+ <action>HALT</action>
57
+ </check>
58
+ </check>
59
+ </step>
60
+
61
+ <step n="3" goal="CHANGELOG 파일 복사">
62
+ <critical>📋 COPY FILES - CHANGELOG 설정 파일 복사</critical>
63
+
64
+ <!-- cliff.toml 복사 -->
65
+ <check if="NOT {{skip_cliff}}">
66
+ <action>복사: {{changelog_templates}}/cliff.toml
67
+ → {{target_root}}/cliff.toml</action>
68
+ <output>✅ cliff.toml 생성됨</output>
69
+ </check>
70
+
71
+ <!-- release-on-tag.yml 교체 -->
72
+ <action>복사: {{changelog_templates}}/release-on-tag.yml
73
+ → {{target_workflows_dir}}/release-on-tag.yml</action>
74
+ <output>✅ release-on-tag.yml CHANGELOG 버전으로 교체됨</output>
75
+ </step>
76
+
77
+ <step n="4" goal="설정 완료 및 안내">
78
+ <output>🎉 **CHANGELOG 자동화 설정 완료!**
79
+
80
+ **적용된 설정:**
81
+ ✅ cliff.toml - git-cliff 설정 (Conventional Commits 파싱)
82
+ ✅ release-on-tag.yml - CHANGELOG 자동 생성 워크플로우
83
+
84
+ **Conventional Commits 형식:**
85
+ - feat: 새 기능
86
+ - fix: 버그 수정
87
+ - docs: 문서 변경
88
+ - refactor: 리팩토링
89
+ - test: 테스트
90
+ - chore: 기타 변경
91
+
92
+ **다음 단계:**
93
+ 1. 변경사항 커밋: `git add cliff.toml .github && git commit -m "feat: add CHANGELOG automation"`
94
+ 2. 원격 저장소에 Push: `git push origin main`
95
+ 3. 태그 생성하여 테스트: `git tag v0.1.0 && git push origin v0.1.0`
96
+
97
+ **사용 방법:**
98
+ 태그를 푸시하면 자동으로:
99
+ 1. CHANGELOG.md 생성/업데이트
100
+ 2. CHANGELOG 커밋
101
+ 3. 태그를 새 커밋으로 이동
102
+ 4. GitHub Release 생성
103
+ </output>
104
+
105
+ <ask>변경사항을 지금 커밋하고 Push하시겠습니까? [y/n]</ask>
106
+
107
+ <check if="user confirms">
108
+ <action>git add cliff.toml .github/workflows/release-on-tag.yml</action>
109
+ <action>git commit -m "feat: add CHANGELOG automation
110
+
111
+ - Add cliff.toml for git-cliff configuration
112
+ - Update release-on-tag.yml with CHANGELOG generation
113
+
114
+ Generated by BMAD Method"</action>
115
+ <action>git push origin {{current_branch}}</action>
116
+ <output>✅ 변경사항 Push 완료!</output>
117
+ </check>
118
+ </step>
119
+
120
+ </workflow>
@@ -0,0 +1,14 @@
1
+ name: changelog-setup
2
+ description: "프로젝트에 CHANGELOG.md 자동 생성 기능 설정 (git-cliff 기반)"
3
+ author: "BMAD"
4
+
5
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
6
+ installed_path: "{project-root}/_bmad/bmm/workflows/changelog-setup"
7
+ instructions: "{installed_path}/instructions.xml"
8
+ template: false
9
+ standalone: true
10
+
11
+ variables:
12
+ changelog_templates: "{project-root}/_bmad/bmm/data/changelog"
13
+ target_workflows_dir: "{project-root}/.github/workflows"
14
+ target_root: "{project-root}"
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: 'changelog-setup'
3
+ description: '프로젝트에 CHANGELOG.md 자동 생성 기능 설정'
4
+ ---
5
+
6
+ <steps CRITICAL="TRUE">
7
+ 1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
8
+ 2. READ its entire contents
9
+ 3. Pass the yaml path as 'workflow-config' parameter to workflow.xml: {project-root}/_bmad/bmm/workflows/changelog-setup/workflow.yaml
10
+ 4. Follow workflow.xml instructions EXACTLY as written
11
+ 5. Save outputs after EACH section
12
+ </steps>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleighmaster/bmad",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "BMad6GitHub CLI - BMAD + GitHub Integration installer",
5
5
  "type": "module",
6
6
  "bin": {