leather-changelog
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseLeather Release Communications
Leather版本发布沟通内容
Generate consistent, on-brand release communications for Leather wallet across changelog entries, X posts, and Slack announcements.
为Leather钱包生成风格统一、符合品牌调性的版本发布沟通内容,涵盖变更日志条目、X帖子以及Slack公告。
Process
流程
- Gather context — Review provided feature description, Linear project, or GitHub PRs
- Identify the "why" — Determine the user problem being solved or improvement being delivered
- Read format references — See for voice guidelines and templates
references/voice-and-formats.md - Generate outputs — Create requested formats (changelog, X post, Slack, or all three)
- 收集背景信息 — 查看提供的功能描述、Linear项目或GitHub PR
- 明确用户价值 — 确定该版本解决的用户问题或带来的改进
- 阅读格式参考 — 查看获取语气指南和模板
references/voice-and-formats.md - 生成输出内容 — 创建所需格式的内容(变更日志、X帖子、Slack公告,或全部三种)
Output Summary
输出内容概述
| Format | Purpose | Length |
|---|---|---|
| Changelog | Permanent product record at app.leather.io/changelog | 50-150 words |
| X single | Quick announcement for smaller features | 280 chars max |
| X thread | Major releases needing context | 3-5 tweets |
| Slack | Community announcement | 100-200 words |
| 格式 | 用途 | 长度 |
|---|---|---|
| 变更日志 | 存储在app.leather.io/changelog的永久产品记录 | 50-150词 |
| X单条推文 | 小型功能的快速公告 | 最多280字符 |
| X推文线程 | 需要详细背景的重大版本发布 | 3-5条推文 |
| Slack公告 | 社区公告 | 100-200词 |
Voice Principles
语气原则
- Lead with impact — Start with why this matters to users, not what changed technically
- Understated confidence — Let the product speak; avoid hype words ("excited", "thrilled", "game-changing")
- One idea per sentence — Short, declarative statements
- Show don't tell — Concrete benefits over abstract claims
See for detailed guidelines and examples.
references/voice-and-formats.md- 以价值为先 — 从对用户的重要性入手,而非技术层面的变更
- 沉稳自信 — 用产品本身说话;避免使用夸张词汇(如“激动人心”“令人兴奋”“改变游戏规则”)
- 一句一意 — 简短、明确的陈述
- 具象呈现 — 强调具体收益,而非抽象宣称
更多详细指南和示例请查看。
references/voice-and-formats.mdSanity CMS Integration
Sanity CMS集成
Use to upload changelog entries to Sanity CMS as drafts.
scripts/sanity-changelog.js使用将变更日志条目作为草稿上传至Sanity CMS。
scripts/sanity-changelog.jsSetup
设置
bash
export SANITY_PROJECT_ID="your-project-id"
export SANITY_DATASET="production" # optional, defaults to "production"
export SANITY_API_TOKEN="your-write-token"bash
export SANITY_PROJECT_ID="your-project-id"
export SANITY_DATASET="production" # optional, defaults to "production"
export SANITY_API_TOKEN="your-write-token"Usage
使用方法
bash
undefinedbash
undefinedTest upload without creating (dry run)
Test upload without creating (dry run)
node scripts/sanity-changelog.js --title "Feature title" --body changelog.md --dry-run
node scripts/sanity-changelog.js --title "Feature title" --body changelog.md --dry-run
Create draft in Sanity
Create draft in Sanity
node scripts/sanity-changelog.js --title "Feature title" --body changelog.md
node scripts/sanity-changelog.js --title "Feature title" --body changelog.md
With custom slug and publication date
With custom slug and publication date
node scripts/sanity-changelog.js
--title "Feature title"
--body changelog.md
--slug "custom-slug"
--published-at "2025-01-15T10:00:00Z"
--title "Feature title"
--body changelog.md
--slug "custom-slug"
--published-at "2025-01-15T10:00:00Z"
undefinednode scripts/sanity-changelog.js
--title "Feature title"
--body changelog.md
--slug "custom-slug"
--published-at "2025-01-15T10:00:00Z"
--title "Feature title"
--body changelog.md
--slug "custom-slug"
--published-at "2025-01-15T10:00:00Z"
undefinedMarkdown Support
Markdown支持
The script converts markdown to Sanity Portable Text:
- Paragraphs (separated by blank lines)
- and
## Headings→ h2 blocks### Headings - ,
**bold**,*italic*inline formatting`code`
该脚本会将Markdown转换为Sanity可移植文本:
- 段落(以空行分隔)
- 和
## Headings→ h2块### Headings - ,
**bold**,*italic*行内格式`code`
Options
选项
| Option | Description |
|---|---|
| Changelog entry title (required) |
| Path to markdown file (required) |
| URL slug (auto-generated if not provided) |
| ISO datetime (default: now) |
| Sanity asset ID for hero image |
| Test without creating document |
| 选项 | 描述 |
|---|---|
| 变更日志条目标题(必填) |
| Markdown文件路径(必填) |
| URL别名(未提供时自动生成) |
| ISO格式日期时间(默认:当前时间) |
| 首图的Sanity资源ID |
| 测试模式,不创建文档 |