forge-update-changelog
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseUpdate Changelog
更新变更日志
Update CHANGELOG.md with user-facing changes from recent development work.
更新CHANGELOG.md,记录近期开发工作中面向用户的变更。
Input
输入参数
Optional: A date (YYYY-MM-DD) or commit hash to start from: $ARGUMENTS
If not provided, will look at commits since the last changelog update.
可选:起始日期(格式为YYYY-MM-DD)或提交哈希值:$ARGUMENTS
如果未提供该参数,将查看自上次变更日志更新以来的提交记录。
Process
操作流程
Step 1: Read Current Changelog
步骤1:读取当前变更日志
bash
undefinedbash
undefinedRead the current changelog to understand the format and last update
Read the current changelog to understand the format and last update
cat CHANGELOG.md
undefinedcat CHANGELOG.md
undefinedStep 2: Gather Recent Changes
步骤2:收集近期变更
bash
undefinedbash
undefinedGet recent commits (adjust date/commit as needed)
Get recent commits (adjust date/commit as needed)
Default: commits from the last month
Default: commits from the last month
git log --oneline --since="1 month ago"
git log --oneline --since="1 month ago"
For more detail on specific commits
For more detail on specific commits
git log --format="%h %s" --since="1 month ago"
git log --format="%h %s" --since="1 month ago"
Or since a specific commit
Or since a specific commit
git log --oneline <commit>..HEAD
undefinedgit log --oneline <commit>..HEAD
undefinedStep 3: Filter for User-Facing Changes
步骤3:筛选面向用户的变更
Review commits and identify only those that affect end users:
Include:
- - New features users can see or use
feat: - - Bug fixes that affected user experience
fix: - - Performance improvements users would notice
perf:
Exclude (internal changes):
- - Code restructuring (unless it changes behavior)
refactor: - - Test additions/changes
test: - - Maintenance tasks
chore: - - CI/CD changes
ci: - - Documentation changes (unless user-facing help docs)
docs: - Internal API changes
- Development tooling updates
审核提交记录,仅识别那些会影响终端用户的变更:
需包含:
- - 用户可见或可使用的新功能
feat: - - 影响用户体验的Bug修复
fix: - - 用户可感知的性能优化
perf:
需排除(内部变更):
- - 代码重构(除非改变了功能行为)
refactor: - - 测试用例的添加或修改
test: - - 维护任务
chore: - - CI/CD相关变更
ci: - - 文档变更(除非是面向用户的帮助文档)
docs: - 内部API变更
- 开发工具更新
Step 4: Group Changes by Category
步骤4:按类别分组变更
Organize changes into user-friendly categories that match the project. Common categories include:
- New Features - Major new functionality
- Improvements - Enhancements to existing features
- Bug Fixes - Issues that affected users
- Performance - Speed and responsiveness improvements
- Security - Security-related improvements
Adapt categories to the project's domain (e.g., a SaaS app might use "Dashboard", "Billing", "Integrations").
将变更整理为符合项目需求的用户友好型类别。常见类别包括:
- 新功能 - 主要的新功能
- 功能改进 - 现有功能的增强
- Bug修复 - 影响用户的问题修复
- 性能优化 - 速度和响应性提升
- 安全增强 - 安全相关的改进
可根据项目领域调整类别(例如,SaaS应用可使用“仪表盘”、“计费”、“集成”等类别)。
Step 5: Write User-Friendly Descriptions
步骤5:撰写用户友好的描述
Transform technical commit messages into plain language:
Technical → User-Friendly Examples:
- → "Sign in with your Google account"
feat(auth): add OAuth2 login with Google - → "Fixed uploading large images"
fix: file upload fails for large images - → "Faster app loading times"
perf(frontend): optimize bundle size with code splitting - → "Export your data as a spreadsheet"
feat(dashboard): add export to CSV
Writing Guidelines:
- Use active voice ("Create", "See", "Download")
- Focus on benefits, not implementation
- Avoid technical jargon (no "API", "endpoints", "cache", "SSR")
- Keep entries short (one line preferred)
- Use bold for feature names: Feature name - description
将技术化的提交信息转换为通俗易懂的语言:
技术描述 → 用户友好描述示例:
- → “使用Google账号登录”
feat(auth): add OAuth2 login with Google - → “修复了大图片上传失败的问题”
fix: file upload fails for large images - → “应用加载速度提升”
perf(frontend): optimize bundle size with code splitting - → “将数据导出为CSV文件”
feat(dashboard): add export to CSV
撰写指南:
- 使用主动语态(如“创建”、“查看”、“下载”)
- 聚焦于用户收益,而非实现细节
- 避免技术术语(如“API”、“端点”、“缓存”、“SSR”等)
- 保持条目简洁(优先使用单行描述)
- 功能名称使用加粗格式:功能名称 - 描述
Step 6: Update CHANGELOG.md
步骤6:更新CHANGELOG.md
Add a new section at the top (after the header), following this format:
markdown
undefined在文档顶部(标题下方)添加新的章节,遵循以下格式:
markdown
undefinedMonth Year
Month Year
Category Name
Category Name
- Feature name - Brief, user-friendly description
- Another feature - What users can now do
- Feature name - Brief, user-friendly description
- Another feature - What users can now do
Another Category
Another Category
- Fix description - What was fixed and how it helps
**Formatting Rules:**
- Use `## Month Year` for date headers
- Use `### Category` for grouping related changes
- Use `---` between months for visual separation
- Bold the feature/fix name, then describe it
- Keep the most recent changes at the top- Fix description - What was fixed and how it helps
**格式规则:**
- 使用`## 月份 年份`作为日期标题
- 使用`### 类别`对相关变更进行分组
- 月份之间使用`---`进行视觉分隔
- 功能/修复名称加粗,然后添加描述
- 最新的变更放在最顶部Step 7: Review and Verify
步骤7:审核与验证
Before committing, verify:
- Only user-facing changes are included
- No technical jargon
- Consistent formatting with existing entries
- Changes are in the correct time period
- No duplicate entries
提交前,请验证以下内容:
- 仅包含面向用户的变更
- 无技术术语
- 格式与现有条目保持一致
- 变更属于正确的时间段
- 无重复条目
Example Transformation
转换示例
Git log:
fb6c12f feat(auth): add OAuth2 login with Google (#42)
443f225 feat(dashboard): add CSV export for reports (#41)
0efa767 fix(api): handle rate limiting gracefully (#39)
d9a51f2 perf(frontend): lazy load dashboard charts (#38)
52105d7 fix(notifications): emails not sent for new signups (#37)Changelog entry:
markdown
undefinedGit日志:
fb6c12f feat(auth): add OAuth2 login with Google (#42)
443f225 feat(dashboard): add CSV export for reports (#41)
0efa767 fix(api): handle rate limiting gracefully (#39)
d9a51f2 perf(frontend): lazy load dashboard charts (#38)
52105d7 fix(notifications): emails not sent for new signups (#37)变更日志条目:
markdown
undefinedJanuary 2025
January 2025
New Features
New Features
- Google sign-in - Sign in with your Google account for faster access
- Export reports - Download your reports as CSV spreadsheets
- Google sign-in - Sign in with your Google account for faster access
- Export reports - Download your reports as CSV spreadsheets
Bug Fixes
Bug Fixes
- Notification emails - New users now correctly receive welcome emails
- Notification emails - New users now correctly receive welcome emails
Performance
Performance
- Faster dashboard - Charts load more quickly on the dashboard
undefined- Faster dashboard - Charts load more quickly on the dashboard
undefinedImportant Guidelines
重要指南
- User perspective: Always ask "Would a user notice or care about this?"
- No attribution: Don't include author names or PR numbers
- No time estimates: Don't say "now X% faster" unless you have real metrics
- Positive framing: "Fixed X" is better than "X was broken"
- Combine related changes: Multiple commits for one feature = one changelog entry
- Skip internal changes: Refactors, test updates, CI changes are not user-facing
- 用户视角:始终问自己“用户会注意到或关心这个变更吗?”
- 不添加署名:不要包含作者姓名或PR编号
- 不添加时间估算:除非有真实数据,否则不要说“现在速度提升X%”
- 正面表述:“修复了X问题”比“X曾出现故障”更好
- 合并相关变更:同一功能的多个提交合并为一个变更日志条目
- 跳过内部变更:重构、测试更新、CI变更不属于面向用户的内容
Related Skills
相关技能
Full workflow: → → → → →
forge-setup-projectforge-create-issueforge-implement-issueforge-reflect-prforge-address-pr-feedbackforge-update-changelog完整工作流: → → → → →
forge-setup-projectforge-create-issueforge-implement-issueforge-reflect-prforge-address-pr-feedbackforge-update-changelogExample Usage
使用示例
/forge-update-changelog
/forge-update-changelog 2025-01-01
/forge-update-changelog abc123/forge-update-changelog
/forge-update-changelog 2025-01-01
/forge-update-changelog abc123