AACWorkflow Docs

릴리스 노트 에이전트

자동으로 병합된 PR 및 문제를 수집하고, 적절한 분류로 릴리스 노트를 선별하고, 배송 준비가 된 Changelog 초안을 작성합니다.

매번 릴리스할 때마다 사용자에게 변경 사항을 알려야 합니다. 이는 병합된 PR을 읽고, 이를 분류(기능, 수정, 보안, 내부)하고, 사용자 친화적인 요약을 작성하고, 모든 것을 릴리스 노트로 패키징하는 것을 의미합니다.

릴리스 노트 에이전트는 이 워크플로우를 자동화합니다. 마지막 릴리스 이후 커밋과 PR을 수집하고, 유형별로 분류하고, 검토할 준비가 된 광택 처리된 초안을 생성합니다.

에이전트가 수행하는 작업

트리거되면(온디맨드 또는 릴리스 전) 릴리스 에이전트는:

  1. 커밋 수집 — 마지막 git 태그 또는 릴리스 이후 모든 병합된 PR 나열
  2. 변경 사항 분류 — PR을 레이블 및 커밋 메시지에 따라 기능, 수정, 보안, 내부, 문서로 정렬
  3. 요약 작성 — PR 설명을 간결한 사용자 친화적 글머리 기호로 변환
  4. 주요 변경 사항 강조 — 마이그레이션이 필요한 주요 버전 범프 또는 API 변경 플래그
  5. Changelog 초안 — 릴리스를 ## [v1.2.0] - 2025-06-22로 모든 섹션과 함께 형식 지정
  6. PR 열기 — 초안을 CHANGELOG.mddocs/releases/v1.2.0.md에 커밋, 최종 검토 준비

설정

필수 조건

  • 활성 에이전트가 있는 AACWorkflow 작업 영역
  • 태그가 지정된 릴리스가 있는 Git 저장소(또는 CHANGELOG.md)
  • GitHub 통합이 구성됨
  • 일관된 라벨이 지정된 PR(예: type:feature, type:fix, type:security)

1단계: 릴리스 노트 에이전트 생성

  1. Settings → Agents로 이동하여 New Agent 클릭
  2. 런타임과 공급자 선택
  3. release-notes 또는 changelog-bot로 이름 지정
  4. 시스템 프롬프트 추가:
Role: Release notes curator
Task: When assigned a "Prepare Release" task:
1. Find the last git tag (e.g., v1.2.0)
2. List all merged PRs since that tag
3. For each PR:
   - Extract title and author
   - Check labels (type:feature, type:fix, type:security, type:docs, type:chore)
   - Read description for context
   - Flag if it's a breaking change
4. Categorize into sections:
   - 🎉 Features (type:feature)
   - 🐛 Bug Fixes (type:fix)
   - 🔒 Security (type:security)
   - 📚 Documentation (type:docs)
   - 🔧 Internal / Chores (type:chore) — optional, show if significant
5. Write 1-2 line summary per PR (user perspective, not technical jargon)
6. Highlight migration guide if breaking changes exist
7. Include contributor credits
8. Create branch "release/v<VERSION>" and PR with:
   - Updated CHANGELOG.md (prepend new release)
   - New file docs/releases/v<VERSION>.md (full details)
9. Add PR to AACWorkflow for team review before merge

Output format:
## [1.2.0] - 2025-06-22

### Features
- **Workspace invites** — invite team members via email link (via @anna-dev in #123)
- **Custom agent skills** — attach reusable workflows to agents (via @devops-team in #456)

### Bug Fixes
- Fixed pagination token expiry causing 401 errors (via @alice in #789)
- Corrected timestamp display in non-UTC timezones (via @bob in #890)

### Security
- **CVE-2025-1234 (High)** — Patched request validation bypass in agent API (via @security-team in #1001)

### Breaking Changes ⚠️
- **Agent API v1 deprecated** — migrate to v2 by July 1st
  See [migration guide](/docs/api/v1-to-v2.md)

### Contributors
Thanks to @anna-dev, @devops-team, @alice, @bob, @security-team, and 3 more contributors.

2단계: PR 라벨 요구

저장소가 모든 PR에 대해 라벨을 강제하도록 합니다. GitHub Actions 워크플로우 .github/workflows/require-pr-label.yml 추가:

name: Require PR Label
on: pull_request
jobs:
  check-labels:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/labeler@v4
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
      - name: Verify label applied
        if: ${{ !contains(github.event.pull_request.labels.*.name, 'type:*') }}
        run: |
          echo "❌ PR must have a 'type:' label"
          exit 1

3단계: 온디맨드 또는 예약된 트리거

온디맨드: Settings → Releases로 이동하여 Prepare Release를 클릭합니다. release-notes 에이전트에 할당하면 깨어나서 시작합니다.

예약된(예: 월간): AACWorkflow 또는 GitHub에서 cron 작업 추가:

# 매월 첫 번째 월요일 오전 9시
0 9 * * 1 [ $(date +%d) -le 7 ] && \
  curl -X POST https://aacworkflow.com/api/tasks \
    -H "Authorization: Bearer $TOKEN" \
    -d '{"agent_id": "release-notes", "title": "Prepare monthly release"}'

4단계: 릴리스 규칙 구성

.aacworkflow/release-config.yml 추가:

release_notes:
  # Git tag pattern for finding last release
  tag_pattern: "v*"
  
  # Sections to include (in order)
  sections:
    - title: "🎉 Features"
      labels: ["type:feature"]
      hide_if_empty: false
    
    - title: "🐛 Bug Fixes"
      labels: ["type:fix"]
      hide_if_empty: false
    
    - title: "🔒 Security"
      labels: ["type:security"]
      hide_if_empty: true
    
    - title: "📚 Documentation"
      labels: ["type:docs"]
      hide_if_empty: true
    
    - title: "🔧 Internal"
      labels: ["type:chore"]
      hide_if_empty: true
  
  # Breaking changes
  breaking_changes_label: "breaking-change"
  breaking_changes_section: true
  
  # Include contributor credits
  include_contributors: true
  
  # Output files
  output_files:
    - CHANGELOG.md
    - docs/releases/v{VERSION}.md

예제 릴리스 노트 출력

PR title: docs: release notes for v1.2.0

Body:

## Release Summary

**v1.2.0** — June 22, 2025

📊 **Stats:** 23 PRs merged, 12 features, 8 fixes, 3 security patches, 15 contributors

---

## 🎉 Features

- **Workspace invites** — Send email invitations to teammates; they auto-join when they click. (PR #1234)
- **Custom agent skills** — Bundle reusable workflows as skills and attach to agents. (PR #1235)
- **Workspace audit log** — Track all team activity in Settings → Audit Log. (PR #1236)

## 🐛 Bug Fixes

- Fixed agent runtime not reconnecting after network drop
- Corrected issue timestamp display in non-UTC timezones
- Pagination tokens no longer expire prematurely
- Agent comments now show in correct order (newest first)

## 🔒 Security

- **CVE-2025-1234 (High)** — Patched request validation bypass in the Agent API. All users should upgrade.
- Fixed CSRF token rotation on login.

## ⚠️ Breaking Changes

**Agent API v1 is now deprecated.** Migrate to v2 by July 1st.
[See migration guide →](/docs/agents/api-migration.md)

## Contributors

Thanks to @anna-dev, @alice, @bob, @charlie, @devops-team, @security-team, and 9 more contributors for making v1.2.0 possible.

---

**Next step:** Review the release notes above. This PR updates `CHANGELOG.md` and creates `docs/releases/v1.2.0.md`.

Merge when ready, then run `git tag v1.2.0 && git push --tags` to publish the release.

팁 및 모범 사례

모든 PR을 라벨합니다. 릴리스 노트는 PR 라벨만큼만 좋습니다. 라벨 지정을 습관으로 만드세요.

  • 태그 지정 전에 초안 — 릴리스를 태그 지정하기 전에 릴리스 노트를 준비하여 배송할 준비가 되어 있습니다
  • 주요 변경 사항 호출 — 모든 주요 변경 사항에 대해 ⚠️ 이모지와 명확한 마이그레이션 지침 사용
  • 사용자 중심 언어 — 기술 용어가 아닌 사용자 관점에서 작성("초대가 이제 자동으로 작동" vs "비동기 초대 워크플로우 구현")
  • 기여자 감사 — 모든 사람을 인정; 사기와 커뮤니티를 구축합니다
  • 문서 링크 — 릴리스 노트에서 관련 문서, 마이그레이션 가이드 및 업그레이드 지침에 링크
  • 여러 채널에 게시 — GitHub Releases, Slack, Twitter, 블로그로 릴리스 노트 복사

관련 가이드