Skip to content

Commit 2d6108a

Browse files
authored
Add ComfyUI v0.26.0 changelog and CMS/i18n release improvements (#1177)
* Add ComfyUI v0.26.0 changelog and improve CMS/i18n release tooling. Document the v0.26.0 release across EN/ja/zh/ko, split CMS prepare into EN simplify and locale translate steps, detect changelog block hash changes for re-translation, and record v0.26.0 as published in CMS. * Allow CMS sync to update already-published release notes with --force. * Clarify Krea2 aesthetic range in v0.26.0 changelog. Highlight Krea's open-source image model with wide aesthetic and stylistic range in EN and sync zh/ja/ko translations. * Document CMS bold section labels and fix published sync branch order. Align skill/README with **Section** popup format (not ##) and reorder sync update-published handling for clarity.
1 parent 1156622 commit 2d6108a

20 files changed

Lines changed: 611 additions & 172 deletions

File tree

.cursor/skills/cms-changelog-sync/SKILL.md

Lines changed: 100 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,60 @@ Push **draft** release notes to Strapi (`release-notes` content type). Docs chan
1414

1515
## Architecture
1616

17+
Three **separate** steps — stop for human review between each:
18+
1719
```
18-
changelog/index.mdx ← docs source of truth (do not shorten for CMS)
20+
changelog/index.mdx ← docs source of truth (full EN)
21+
22+
▼ Step 1: pnpm cms:prepare:en
23+
staging/en/changelog/index.mdx ← simplified popup EN → **review & approve**
1924
20-
▼ pnpm cms:prepare:en / cms:prepare
21-
.github/scripts/cms/staging/
22-
en/changelog/index.mdx ← LLM-simplified popup EN
23-
{zh,ja,ko,fr,ru,es}/… ← translated from simplified EN
25+
▼ Step 2: pnpm cms:prepare:locales
26+
staging/{zh,ja,ko,fr,ru,es}/… ← translated from staging EN → **review & approve**
2427
25-
▼ pnpm cms:sync
26-
Strapi CMS (draft only) → manual Publish → published-versions.json
28+
Step 3: pnpm cms:preview → cms:sync (only after user confirms)
29+
Strapi CMS (draft) → manual Publish → published-versions.json
2730
```
2831

29-
**Never** edit docs `zh/changelog/` for CMS. **Never** auto-publish in Strapi.
32+
**Never** edit docs `zh/changelog/` for CMS. **Never** auto-publish in Strapi. **Never** use `pnpm translate` for CMS — that pipeline is for Mintlify docs only.
33+
34+
## Three-step workflow (local)
35+
36+
| Step | Command | What it does | Gate |
37+
|------|---------|--------------|------|
38+
| **1. Simplify EN** | `pnpm cms:prepare:en -- --force v0.26.0` | docs → LLM → `staging/en/` | Review EN staging |
39+
| **2. Translate** | `pnpm cms:prepare:locales -- --force v0.26.0` | `staging/en/``staging/{zh,ja,ko,fr,ru,es}/` | Review locale staging |
40+
| **3. Push CMS** | `pnpm cms:preview` then `pnpm cms:sync` | staging → Strapi **drafts** | Strapi review → `cms:publish` |
41+
42+
`pnpm cms:prepare` without `--en-only` / `--translate-only` prints help and exits — use the step-specific scripts above.
43+
44+
## Translation workflow (CMS staging)
45+
46+
Step 2 only. **Input = simplified EN staging**, not docs changelog.
47+
48+
```
49+
staging/en/changelog/index.mdx ← input (Step 1 output, human-approved)
50+
51+
▼ pnpm cms:prepare:locales -- v0.26.0
52+
staging/zh|ja|ko|fr|ru|es/changelog/… ← output (popup copy per locale, ready to sync)
53+
54+
▼ pnpm cms:sync (Step 3, after user confirms)
55+
Strapi release-notes (draft)
56+
```
57+
58+
| | Mintlify docs (`pnpm translate`) | CMS popup (`pnpm cms:prepare:locales`) |
59+
|--|----------------------------------|----------------------------------------|
60+
| English source | `changelog/index.mdx` (full docs) | `staging/en/changelog/index.mdx` (simplified popup) |
61+
| Output path | `zh/changelog/index.mdx`, etc. | `staging/zh/changelog/index.mdx`, etc. |
62+
| Purpose | Docs site | Strapi in-app notification |
63+
| Mix pipelines? | **No** | **No** |
64+
65+
**Key points:**
66+
67+
- `cms:prepare:locales` does **not** re-simplify English — it reads existing `staging/en/` only
68+
- If staging EN is missing the version, translate fails — run `cms:prepare:en` first
69+
- Target locales: **zh, ja, ko, fr, ru, es** (see `cms-config.json`)
70+
- `--force` re-translates existing locale blocks (common after manual EN edits)
3071

3172
## Environment (`.env.local`)
3273

@@ -48,22 +89,40 @@ Config: `.github/scripts/cms/cms-config.json` → `simplify`
4889

4990
| Rule | Value |
5091
|------|-------|
51-
| Total bullets per version | **3–5** (`max_bullets_total: 5`) |
52-
| Section headings max | **2** (`max_sections: 2`) |
92+
| Total bullets per version | **up to 10** (`max_bullets_total: 10`) |
93+
| Section headings max | **3** (`max_sections: 3`) |
94+
| Section order | **New Open-Source Model Support****New Node Updates****Partner Node Updates** |
5395
| Words per version | ~60–120 |
54-
| Bullet format | `[**Name**](pr_url): 5–12 word function` |
96+
| Bullet format | `[**Name**](pr_url): 6–12 words with one key trait` |
5597
| PR links | **Keep** when source has them; never invent URLs |
56-
| Sections allowed | `**New Open-Source Model Support**`, `**Partner Node Updates**` only |
57-
| Drop | Bug fixes, performance, Load3D, UI, internal refactors |
98+
| New Node Updates | Include meaningful entries from source **New Nodes** section (workflows, sockets, multimodal nodes) |
99+
| Drop | Bug fixes, performance, pure Load3D plumbing, internal refactors, **ComfyUI-WIKI dependency bumps** (see below) |
100+
101+
Style: principle-only prompt in `cms-simplify-prompt.ts` (no concrete version examples — avoids LLM contamination).
102+
103+
## ComfyUI-WIKI commits (omit from changelog)
104+
105+
When curating `changelog/index.mdx` from ComfyUI git history, **do not add bullets** for commits routinely opened by **[ComfyUI-WIKI](https://github.com/Comfy-Org/ComfyUI-WIKI)** — they are dependency/content syncs, not core release features:
58106

59-
Example staging output:
107+
| Skip | Typical commit / PR pattern |
108+
|------|----------------------------|
109+
| **Embedded docs** | `chore: update embedded docs to v…`, `comfyui-embedded-docs` in `requirements.txt` |
110+
| **Workflow templates** | `chore: update workflow templates to v…`, `comfyui-workflow-templates` in `requirements.txt` |
111+
| **Model blueprints** | `Add new model blueprints`, blueprint starter workflows in template library |
112+
113+
Also omit standalone **frontend package semver bumps** unless tied to a user-visible fix worth its own bullet. CMS simplify must never promote WIKI-only items into popup copy even if they appear in the full docs block.
114+
115+
Example staging shape (placeholders only):
60116

61117
```markdown
62118
**New Open-Source Model Support**
63-
* [**Depth Anything 3**](https://github.com/Comfy-Org/ComfyUI/pull/13853): Monocular depth estimation model
119+
* [**Model Name**](source_url): Short description with 1–2 traits from the release data
120+
121+
**New Node Updates**
122+
* [**Node Name**](source_url): What the node does and why it matters
64123

65124
**Partner Node Updates**
66-
* [**Kling V3-Turbo**](https://github.com/Comfy-Org/ComfyUI/pull/14528): Text-to-video generation model
125+
* [**Partner Node**](source_url): Partner scope and capability from the release data
67126
```
68127

69128
Sync adds header: `# ComfyUI vX.Y.Z` via `format-cms-content.ts`.
@@ -91,18 +150,19 @@ pnpm cms:set-attention -- cloud v0.24.0 high --save
91150

92151
| Command | Action |
93152
|---------|--------|
94-
| `pnpm cms:prepare:en` | Simplify EN → staging (comfyui + cloud copy) |
95-
| `pnpm cms:prepare` | Simplify EN + translate all locales (both projects) |
96-
| `pnpm cms:preview -- v0.25.1` | Dry-run Strapi push (both projects) |
97-
| `pnpm cms:sync -- v0.25.1` | Push/update **drafts** (both projects) |
98-
| `pnpm cms:publish -- v0.25.1` | Publish + refresh `published-versions.json` (both) |
153+
| `pnpm cms:prepare:en` | **Step 1** — LLM simplify docs EN → `staging/en/` (no translation) |
154+
| `pnpm cms:prepare:locales` | **Step 2** — translate `staging/en/``staging/{zh,ja,ko,fr,ru,es}/` (does not re-simplify EN) |
155+
| `pnpm cms:preview -- v0.25.1` | **Step 3a** — Dry-run Strapi push |
156+
| `pnpm cms:sync -- v0.25.1` | **Step 3b** — Push/update **drafts** (run only after user confirms staging) |
157+
| `pnpm cms:publish -- v0.25.1` | Publish + refresh `published-versions.json` |
158+
| `pnpm cms:prepare` | Prints three-step help and exits when no mode flag is passed |
99159
| `pnpm cms:set-attention -- cloud v0.24.0 high` | Set attention low/high in Strapi |
100160
| `pnpm cms:delete-drafts --preview` | List deletable Strapi drafts |
101161
| `pnpm cms:delete-drafts` | Delete drafts (keeps published) |
102162

103163
Flags (after `--`):
104164

105-
- `--force` — re-simplify/re-translate even if staging has the version
165+
- `--force` — re-simplify/re-translate even if staging has the version; on **sync**, update already-**published** CMS entries (default skips published)
106166
- `--preview` / `--dry-run` — no API writes
107167
- `--project cloud` — single project only (default = both)
108168
- `v0.25.1` — explicit version(s)
@@ -119,44 +179,47 @@ Requires **Bun**. Loads `.env.local` automatically.
119179
### New release version
120180

121181
1. Add full `<Update>` block to `changelog/index.mdx` (docs quality — unchanged).
122-
2. **English first** — review popup copy before translating:
182+
183+
2. **Step 1 — Simplify EN** — review before translating:
123184

124185
```bash
125186
pnpm cms:prepare:en -- --force v0.25.1
126187
```
127188

128-
Inspect: `.github/scripts/cms/staging/en/changelog/index.mdx`
189+
Inspect: `.github/scripts/cms/staging/en/changelog/index.mdx`**stop until approved**
129190

130-
3. **Translate** after EN approved:
191+
3. **Step 2 — Translate** — from approved staging EN only:
131192

132193
```bash
133-
pnpm cms:prepare -- v0.25.1
194+
pnpm cms:prepare:locales -- v0.25.1 # first translate
195+
pnpm cms:prepare:locales -- --force v0.25.1 # re-translate after EN edits
134196
```
135197

136-
4. **Push drafts**:
198+
Inspect: `.github/scripts/cms/staging/zh/changelog/index.mdx` (and other locales) → **stop until approved**
199+
200+
4. **Step 3 — Push drafts** (only after user confirms staging):
137201

138202
```bash
139203
pnpm cms:preview -- v0.25.1
140204
pnpm cms:sync -- v0.25.1
141205
```
142206

143-
5. **Publish** after review (CLI or Strapi admin):
207+
5. **Publish** after Strapi review:
144208

145209
```bash
146210
pnpm cms:publish --preview -- v0.25.1
147211
pnpm cms:publish -- v0.25.1
148-
# published-versions.json is refreshed automatically — commit if changed
149212
```
150213

151-
6. Commit `.github/scripts/cms/published-versions.json` after publish (auto-refreshed by `cms:publish`).
214+
6. Commit `.github/scripts/cms/published-versions.json` after publish.
152215

153216
### Catch up all unpublished versions locally
154217

155218
```bash
156-
pnpm cms:prepare:en -- --force # all unpublished EN
157-
pnpm cms:prepare -- --force # then all locales
219+
pnpm cms:prepare:en -- --force # Step 1: all unpublished EN
220+
pnpm cms:prepare:locales -- --force # Step 2: all locales
158221
pnpm cms:preview
159-
pnpm cms:sync
222+
pnpm cms:sync # Step 3: after review
160223
```
161224

162225
### After prompt or config changes
@@ -193,9 +256,10 @@ Re-run with `--force`. Staging without `--force` **skips** existing `<Update>` b
193256
When user asks to update CMS release notes:
194257

195258
- [ ] Confirm `changelog/index.mdx` has the new `<Update>` block
196-
- [ ] Run `pnpm cms:prepare:en` (with `--force` if redoing); show staging EN for review
197-
- [ ] Wait for user approval before `pnpm cms:prepare` (translations)
198-
- [ ] Run `pnpm cms:preview` then `pnpm cms:sync`
259+
- [ ] Omit ComfyUI-WIKI items (embedded docs, workflow templates, model blueprints) unless user explicitly asks
260+
- [ ] Run `pnpm cms:prepare:en`; show staging EN → **wait for user approval**
261+
- [ ] Run `pnpm cms:prepare:locales` (not `cms:prepare:en`) → **wait for user approval**
262+
- [ ] Run `pnpm cms:preview` then `pnpm cms:sync` **only after user confirms staging**
199263
- [ ] Remind: Strapi publish is manual; then `--write` on published-versions
200264
- [ ] Do **not** commit staging/ (gitignored)
201265
- [ ] Do **not** shorten docs changelog for CMS — staging is separate

.cursor/skills/docs-i18n-translate/SKILL.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,20 @@ pnpm translate:check-truncation # if long page / changelog
7373
### Changelog (`changelog/index.mdx`)
7474

7575
- Strategy: `update_blocks` (configured in `translation-config.json`)
76-
- Only **new/changed** `<Update label="vX">` blocks are translated
76+
- Only **new or changed** `<Update label="vX">` blocks are translated (by label + `translationBlockHashes`)
7777
- Dates in `description` are localized automatically (ja/zh/ko formats)
7878
- Block hashes stored in `translationBlockHashes` frontmatter
7979

80+
**Omit from English changelog** when triaging ComfyUI commits — these are **[ComfyUI-WIKI](https://github.com/Comfy-Org/ComfyUI-WIKI)** sync PRs, not core product features:
81+
82+
| Skip | Typical pattern |
83+
|------|-----------------|
84+
| Embedded docs | `update embedded docs to v…`, `comfyui-embedded-docs` bump |
85+
| Workflow templates | `update workflow templates to v…`, `comfyui-workflow-templates` bump |
86+
| Model blueprints | `Add new model blueprints`, template-library starter workflows |
87+
88+
Do not add bullets for dependency-only version bumps. See also **`cms-changelog-sync`** for CMS popup rules.
89+
8090
```bash
8191
pnpm translate -- changelog/index.mdx
8292
pnpm translate -- changelog/index.mdx --lang zh

.github/scripts/cms/README.md

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,27 @@ Push **draft** release notes to Strapi CMS. Content is **simplified for end user
44

55
## Architecture
66

7+
Three separate steps — review between each; sync only after confirmation:
8+
79
```
810
changelog/index.mdx ← full docs (unchanged)
911
10-
11-
pnpm cms:prepare
12-
1. LLM simplify EN → staging/en/changelog/index.mdx
13-
2. Translate EN → staging/{zh,ja,ko,fr,ru,es}/…
12+
▼ Step 1: pnpm cms:prepare:en
13+
staging/en/ ← simplified popup EN (review)
1414
15-
16-
pnpm cms:sync → Strapi drafts (reads staging only)
15+
Step 2: pnpm cms:prepare:locales
16+
staging/{zh,ja,ko,fr,ru,es}/ ← translated from staging EN (review)
1717
18-
19-
Editor review → Publish → update published-versions.json
18+
Step 3: pnpm cms:sync
19+
Strapi drafts → publish → published-versions.json
2020
```
2121

22-
| Command | Role |
23-
|---------|------|
24-
| `pnpm cms:prepare` | Simplify + translate into **staging/** (uses `TRANSLATE_API_KEY`) |
25-
| `pnpm cms:preview` | Dry-run CMS push |
26-
| `pnpm cms:sync` | Push staging → Strapi (uses `CMS_API_TOKEN`) |
27-
| `pnpm cms:publish` | Publish reviewed Strapi drafts → live |
22+
| Command | Step | Role |
23+
|---------|------|------|
24+
| `pnpm cms:prepare:en` | 1 | LLM simplify docs EN → `staging/en/` |
25+
| `pnpm cms:prepare:locales` | 2 | Translate `staging/en/` → other locales |
26+
| `pnpm cms:preview` / `cms:sync` | 3 | Push staging → Strapi drafts |
27+
| `pnpm cms:publish` | | Publish reviewed Strapi drafts → live |
2828

2929
**Docs site** (`zh/changelog/`, etc.) stays independent. **CMS** uses `.github/scripts/cms/staging/` only.
3030

@@ -59,12 +59,11 @@ Persists to `attention-overrides.json` (used on sync). Or edit that file manuall
5959
## Commands
6060

6161
```bash
62-
pnpm cms:prepare:en -- --force v0.25.0 # simplify EN (comfyui + cloud copy)
63-
pnpm cms:prepare -- v0.25.1 # translate all locales (both projects)
64-
pnpm cms:preview -- v0.25.1 # dry-run sync (both projects)
65-
pnpm cms:sync -- v0.25.1 # push drafts (both projects)
66-
pnpm cms:publish -- v0.25.1 # publish + refresh published-versions.json
67-
pnpm cms:set-attention -- cloud v0.24.0 high --save
62+
pnpm cms:prepare:en -- --force v0.25.0 # Step 1: simplify EN
63+
pnpm cms:prepare:locales -- v0.25.1 # Step 2: translate (after EN approved)
64+
pnpm cms:preview -- v0.25.1 # Step 3: dry-run sync
65+
pnpm cms:sync -- v0.25.1 # Step 3: push drafts (after staging approved)
66+
pnpm cms:publish -- v0.25.1 # publish + refresh published-versions.json
6867
```
6968

7069
Default: **comfyui + cloud** on prepare / sync / publish. Single project: `--project cloud`.
@@ -79,13 +78,16 @@ Configured in `cms-config.json` → `simplify`:
7978

8079
| Key | Default | Meaning |
8180
|-----|---------|---------|
82-
| `max_bullets_total` | **5** | Bullets for the **entire version** (not per section) |
83-
| `max_sections` | **2** | At most `**New Open-Source Model Support**` + `**Partner Node Updates**` |
81+
| `max_bullets_total` | **10** | Bullets for the **entire version** (not per section) |
82+
| `max_sections` | **3** | `**New Open-Source Model Support**` `**New Node Updates**``**Partner Node Updates**` (bold labels, not `##`) |
8483

85-
- Each bullet: **[**Name**](pr_url): 5–12 word function** — rewrite, do not copy docs wording
84+
- Section order is **fixed**: open-source models first, node updates second, partner nodes last
85+
- Include **all meaningful New Nodes** entries from the docs changelog (workflows, output sockets, multimodal nodes)
86+
- Each bullet: **[**Name**](pr_url): 12–25 word description** — preserve model/node traits from source
8687
- **Keep PR links** when the source has them
8788
- **Drop** performance tweaks, minor fixes, Load3D/UI housekeeping
88-
- English only (skip translation): `pnpm cms:prepare:en -- --force v0.25.0`
89+
- English only (Step 1): `pnpm cms:prepare:en -- --force v0.25.0`
90+
- Translate only (Step 2): `pnpm cms:prepare:locales -- --force v0.25.0` — reads existing `staging/en/`, never re-simplifies
8991

9092
## Configuration
9193

.github/scripts/cms/cms-config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
}
2626
],
2727
"simplify": {
28-
"max_bullets_total": 5,
29-
"max_sections": 2
28+
"max_bullets_total": 10,
29+
"max_sections": 3
3030
},
3131
"locales": [
3232
{

.github/scripts/cms/cms-simplify-en.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import {
1717
} from "./cms-simplify-prompt.ts";
1818
import { callTranslateApi } from "./cms-translate-client.ts";
1919

20-
const DEFAULT_MAX_BULLETS_TOTAL = 5;
21-
const DEFAULT_MAX_SECTIONS = 2;
20+
const DEFAULT_MAX_BULLETS_TOTAL = 10;
21+
const DEFAULT_MAX_SECTIONS = 3;
2222

2323
function simplifyLimits(config: CmsConfig): SimplifyLimits {
2424
return {

0 commit comments

Comments
 (0)