Skip to content

Commit 5c4a312

Browse files
committed
feat: enhance release notes formatting for Discord and Reddit, adding new rules and interactions
1 parent 8d85071 commit 5c4a312

File tree

3 files changed

+161
-107
lines changed

3 files changed

+161
-107
lines changed

.roo/rules-release-notes-writer/1_main_workflow.xml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<workflow_instructions>
22
<mode_overview>
33
Automates creating release notes for new Roo Code versions. Fetches pull requests
4-
from GitHub, analyzes changes, generates user-focused notes, and handles Discord
4+
from GitHub, analyzes changes, generates user-focused notes, and handles Discord and Reddit
55
formatting. Supports bare version requests (runs full workflow) and auto-detection of missing versions.
66
</mode_overview>
77

@@ -26,6 +26,10 @@
2626
<trigger>latest</trigger>
2727
<action>Auto-detect missing versions from changelog</action>
2828
</pattern>
29+
<pattern type="reddit_only">
30+
<trigger>Reddit release notes for X.Y.Z</trigger>
31+
<action>Generate Reddit format from existing files</action>
32+
</pattern>
2933
</entry_patterns>
3034

3135
<critical_date_format>
@@ -1870,7 +1874,7 @@ Which features should I highlight with expanded sections in the release notes?
18701874

18711875
<special_workflows>
18721876
<workflow name="discord_only">
1873-
<description>Generate Discord format from existing release files</description>
1877+
<description>Generate Discord format from existing release files and also produce Reddit variant</description>
18741878
<transformations>
18751879
- Remove PR links and numbers
18761880
- Convert /path to https://docs.roocode.com/path
@@ -1941,6 +1945,10 @@ echo "]"
19411945
</process>
19421946
<handoff>After the user selects versions to process, use the simplified PR extraction for each selected version</handoff>
19431947
</workflow>
1948+
<workflow name="reddit_only">
1949+
<description>Generate Reddit format from existing release files and also produce Discord variant</description>
1950+
<output>Formatted text (no files created)</output>
1951+
</workflow>
19441952
</special_workflows>
19451953

19461954
<simplified_pr_extraction_guide>
@@ -1989,5 +1997,8 @@ gh pr list --repo RooCodeInc/Roo-Code --state merged --base main --limit 1000 \
19891997
<rule priority="HIGH">
19901998
QOL Improvements section MUST come before Bug Fixes
19911999
</rule>
2000+
<rule priority="HIGH">
2001+
When the user asks for Discord or Reddit notes, output both variants in a single response
2002+
</rule>
19922003
</critical_rules>
19932004
</workflow_instructions>

.roo/rules-release-notes-writer/2_content_standards.xml

Lines changed: 99 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -247,113 +247,140 @@ Concluding sentence about the benefit.
247247

248248
<discord_formatting>
249249
<overview>
250-
Special formatting rules for Discord announcements to ensure readability
251-
and engagement in chat format.
250+
Special formatting rules for Discord announcements that reflect our latest house style and the final transformation flow.
252251
</overview>
253252

254253
<structure>
255254
<element name="wrapper">
256255
<format>```markdown ... ```</format>
257-
<description>Entire announcement wrapped in markdown code block</description>
256+
<description>Wrap the entire announcement in a markdown code block</description>
258257
</element>
259-
258+
260259
<element name="title">
261-
<format># 🚀 Roo Code X.Y.Z Release Notes</format>
262-
<format_combined># 🚀 Roo Code X.Y.Z-X.Y.Z Release Updates</format_combined>
260+
<format># :rocket: Roo Code X.Y.Z Release Updates</format>
261+
<format_combined># :rocket: Roo Code X.Y.Z-X.Y.Z Release Updates</format_combined>
263262
<rules>
264-
- Always include rocket emoji
265-
- Use "Release Notes" for single version
266-
- Use "Release Updates" for combined versions
263+
- Use :rocket: shortcode (not the emoji)
264+
- Use "Release Updates" (not "Release Notes") for both single and combined versions
265+
- For combined announcements, use "X.Y.Z-X.Y.Z" range formatting
267266
</rules>
268267
</element>
269268

270-
<element name="intro_sentence">
271-
<format>We've shipped [updates/an update] with [feature summary]!</format>
269+
<element name="tagline">
270+
<format>@everyone [short hero summary]</format>
272271
<rules>
273-
- Must summarize key features
274-
- No marketing language ("powerful", "revolutionary")
275-
- Be specific about what's included
272+
- Discord only (omit from Reddit)
273+
- Keep to a single concise line (e.g., "GPT‑5‑Codex tool‑usage fix, more FREE models on Roo Code Cloud and more!")
276274
</rules>
277-
<examples>
278-
<single>We've shipped an update with subtask todo lists, Vertex AI grounding, and performance improvements!</single>
279-
<combined>We've shipped three updates with subtask todo lists, Vertex AI grounding features, Kimi K2 prompt caching, and the new Featherless provider!</combined>
280-
</examples>
281275
</element>
282276

283277
<element name="sections">
284278
<order>
285-
1. ## ✨ Feature Highlights (not "Major Features")
286-
2. ## 🎯 Provider Updates
287-
3. ## 💪 QOL Improvements
288-
4. ## 🐛 Bug Fixes
289-
5. ## 🔧 Additional Improvements
279+
1. ## Fixed: GPT-5-Codex errors and others!
280+
2. ## Context condensing fix
281+
3. ## More free models on Roo Code Cloud
282+
4. ## More Changes
290283
</order>
291284
<rules>
292-
- Use emojis for section headers
293-
- "Feature Highlights" instead of "Major Features"
294-
- Keep descriptions concise for chat readability
285+
- No emojis in section headers
286+
- In "Fixed: GPT-5-Codex...", copy the leading sentence EXACTLY from docs (include the PR link if present)
287+
- Under that hero sentence, include the three bullets verbatim; render bullets as "- " hyphens
295288
</rules>
296289
</element>
297290

298-
<element name="compression_pattern">
299-
<description>When user requests compression or content is too long</description>
300-
<trigger>User says "compress" or "condense"</trigger>
301-
<format><![CDATA[
302-
## 🔧 Other Improvements and Fixes
291+
<element name="footer_blurb">
292+
<format_single><![CDATA[
293+
See full release notes [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z)
294+
]]></format_single>
295+
<format_combined><![CDATA[
296+
See full release notes [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z) | [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z)
297+
]]></format_combined>
298+
<rules>
299+
- Use markdown inline links with the version as the anchor text
300+
- For multiple versions, join links with " | "
301+
</rules>
302+
</element>
303+
</structure>
303304

304-
These releases include [COUNT] improvements across bug fixes, provider updates, QOL enhancements, and misc updates. Thanks to [contributor1], [contributor2], [contributor3], and all other contributors who made these releases possible!
305-
]]></format>
305+
<content_rules>
306+
<rule priority="critical">No version numbers in body text (only header/footer)</rule>
307+
<rule priority="critical">Never use marketing language</rule>
308+
<rule priority="high">Retain PR link ONLY in the hero GPT‑5‑Codex section; remove PR links/numbers elsewhere</rule>
309+
<rule priority="high">Convert any relative docs links to absolute https://docs.roocode.com paths</rule>
310+
<rule priority="high">Use hyphen bullets ("- ") everywhere</rule>
311+
<rule priority="medium">If long or on request, summarize remaining items into a single "More Changes" paragraph with contributor thanks and total change count</rule>
312+
</content_rules>
313+
314+
<transformations>
315+
<from>* </from>
316+
<to>- </to>
317+
318+
<from>([#PR](link))</from>
319+
<to>(remove everywhere except retain in the hero GPT‑5‑Codex section)</to>
320+
321+
<from>/path/to/page</from>
322+
<to>https://docs.roocode.com/path/to/page</to>
323+
</transformations>
324+
</discord_formatting>
325+
326+
<reddit_formatting>
327+
<overview>
328+
Formatting for Reddit announcements, paired with Discord output by default.
329+
</overview>
330+
331+
<structure>
332+
<element name="wrapper">
333+
<format>```markdown ... ```</format>
334+
<description>Wrap the entire announcement in a markdown code block</description>
335+
</element>
336+
<element name="title">
337+
<format>Roo Code X.Y.Z-X.Y.Z Release Updates | FREE models | GPT‑5‑Codex tool‑usage fix | More fixes!</format>
306338
<rules>
307-
- Replace all sections below "Feature Highlights" with single paragraph
308-
- Count actual number of improvements (not estimate)
309-
- List specific contributor names from the releases
310-
- Use "Other Improvements and Fixes" as section title
311-
- Include all contributor acknowledgments in one place
339+
- Plain text line (no leading "#")
340+
- Include the three-part summary fragments as shown
312341
</rules>
313-
<example><![CDATA[
314-
## 🔧 Other Improvements and Fixes
342+
</element>
315343

316-
These releases include 18 improvements across bug fixes, provider updates, QOL enhancements, and misc updates. Thanks to anguslees, DarinVerheijke, semidark, elianiva, and all other contributors who made these releases possible!
317-
]]></example>
344+
<element name="intro_note">
345+
<format>*In case you did not know, r/RooCode is a Free and Open Source VS Code AI Coding extension.*</format>
318346
</element>
319347

320-
<element name="footer">
321-
<format_single>📚 **Full Release Notes** [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z)</format_single>
322-
<format_combined>📚 **Full Release Notes** [vX.Y.Z](link) | [vX.Y.Z](link) | [vX.Y.Z](link)</format_combined>
348+
<element name="sections">
349+
<order>
350+
1. ## More free models on Roo Code Cloud
351+
2. ## Fixed: GPT-5-Codex errors and others!
352+
3. ## Context condensing fix
353+
4. ## More Changes
354+
</order>
323355
<rules>
324-
- Use book emoji
325-
- Bold "Full Release Notes"
326-
- Markdown link format with version as link text
327-
- Pipe separator for multiple versions
356+
- Wrap entire output in a markdown code block
357+
- No @everyone line
358+
- No emojis in section headers
359+
- Use hyphen bullets ("- ")
360+
- Remove PR links everywhere (including hero)
328361
</rules>
329362
</element>
363+
364+
<element name="footer_blurb">
365+
<format_single><![CDATA[
366+
See full release notes [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z)
367+
]]></format_single>
368+
<format_combined><![CDATA[
369+
See full release notes [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z) | [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z)
370+
]]></format_combined>
371+
</element>
330372
</structure>
331373

332374
<content_rules>
333-
<rule priority="critical">No version numbers in body text (only header/footer)</rule>
334-
<rule priority="critical">Never use the word "powerful" or similar marketing terms</rule>
375+
<rule priority="critical">No version numbers in body text</rule>
335376
<rule priority="high">Remove all PR numbers and links</rule>
336-
<rule priority="high">Keep contributor thanks but remove PR references</rule>
337-
<rule priority="high">No closing phrases like "Happy coding!"</rule>
338-
<rule priority="medium">Use bullet points (•) instead of asterisks (*)</rule>
339-
<rule priority="medium">Group minor items if over 2000 characters</rule>
377+
<rule priority="high">Use absolute docs links</rule>
378+
<rule priority="high">Use hyphen bullets ("- ")</rule>
340379
</content_rules>
380+
</reddit_formatting>
341381

342-
<transformations>
343-
<from>([#PR](link))</from>
344-
<to>(remove entirely)</to>
345-
346-
<from>/path/to/feature</from>
347-
<to>https://docs.roocode.com/path/to/feature</to>
348-
349-
<from>## Major Features</from>
350-
<to>## ✨ Feature Highlights</to>
351-
352-
<from>* </from>
353-
<to>• </to>
354-
355-
<from>Happy coding! 🦘</from>
356-
<to>(remove entirely)</to>
357-
</transformations>
358-
</discord_formatting>
382+
<cross_posting>
383+
<rule>When the user asks for Discord notes, also produce Reddit notes in the same response.</rule>
384+
<rule>When the user asks for Reddit notes, also produce Discord notes in the same response.</rule>
385+
</cross_posting>
359386
</content_standards>

.roo/rules-release-notes-writer/3_user_interactions.xml

Lines changed: 49 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -188,38 +188,57 @@ Which would you like to process?</question>
188188

189189
<discord_format_interaction>
190190
<trigger>Discord release notes for X.Y.Z</trigger>
191-
<options>
192-
<single_version>Generate Discord format for one version</single_version>
193-
<multiple_versions>Combine multiple versions</multiple_versions>
194-
<compression>Compress minor items if over 2000 chars or on request</compression>
195-
</options>
191+
<behavior>
192+
<rule>Immediately generate Discord and Reddit posts using social_formatting rules (no prompt).</rule>
193+
<rule>Only ask if the user requests "compress"/"condense", or if content exceeds 2000 chars.</rule>
194+
</behavior>
195+
<formatting_checklist>
196+
<item>Title uses ":rocket:" and "Release Updates" (single or X.Y.Z-X.Y.Z for combined)</item>
197+
<item>Include "@everyone" tagline line with short hero summary under the title</item>
198+
<item>Section order: Fixed: GPT-5-Codex errors and others!, Context condensing fix, More free models on Roo Code Cloud, More Changes</item>
199+
<item>Use hyphen bullets "- " only; no emojis in section headers</item>
200+
<item>Hero sentence for GPT-5-Codex copied EXACTLY from docs (preserve PR link); other sections remove PR links</item>
201+
<item>Footer blurb: See full release notes [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z) (single) or [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z) | [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z) (combined)</item>
202+
<item>Wrap entire output in ```markdown code block</item>
203+
</formatting_checklist>
196204
<compression_workflow>
197205
<trigger>User says "compress", "condense", or content exceeds 2000 chars</trigger>
198206
<steps>
199-
<step>Keep Feature Highlights section intact</step>
200-
<step>Count all improvements below Feature Highlights</step>
201-
<step>Replace all sections with single "Other Improvements and Fixes" paragraph</step>
202-
<step>Include contributor acknowledgments in compressed section</step>
207+
<step>Preserve the "Fixed: GPT-5-Codex..." section intact</step>
208+
<step>Summarize remaining content into a single "More Changes" paragraph with total count and contributor thanks</step>
203209
</steps>
204210
<validation>
205-
<item>Verify actual count of improvements (not estimate)</item>
206-
<item>Ensure all contributors are acknowledged</item>
207-
<item>Maintain markdown code block wrapper</item>
211+
<item>Verify actual count of changes</item>
212+
<item>Maintain markdown code block and hyphen bullets</item>
208213
</validation>
209-
</compression_workflow>
210-
<template><![CDATA[
214+
<template><![CDATA[
211215
<ask_followup_question>
212-
<question>How would you like the Discord announcement formatted?</question>
216+
<question>The Discord post is long. Compress remaining sections into a single "More Changes" paragraph?</question>
213217
<follow_up>
214-
<suggest>Standard format with all details</suggest>
215-
<suggest>Compressed format (group minor items)</suggest>
216-
<suggest>Highlights only (major features)</suggest>
217-
<suggest>Multiple versions combined</suggest>
218+
<suggest>Yes, compress remaining sections</suggest>
219+
<suggest>No, keep full details</suggest>
218220
</follow_up>
219221
</ask_followup_question>
220-
]]></template>
222+
]]></template>
223+
</compression_workflow>
221224
</discord_format_interaction>
222225

226+
<reddit_format_interaction>
227+
<trigger>Reddit release notes for X.Y.Z</trigger>
228+
<behavior>
229+
<rule>Immediately generate Reddit and Discord posts using social_formatting rules (no prompt).</rule>
230+
</behavior>
231+
<formatting_checklist>
232+
<item>Title (plain text): "Roo Code X.Y.Z-X.Y.Z Release Updates | FREE models | GPT‑5‑Codex tool‑usage fix | More fixes!"</item>
233+
<item>Intro italic note present</item>
234+
<item>Section order: More free models on Roo Code Cloud, Fixed: GPT-5-Codex errors and others!, Context condensing fix, More Changes</item>
235+
<item>Use hyphen bullets "- " only; no emojis, no @everyone</item>
236+
<item>Wrap entire output in ```markdown code block</item>
237+
<item>Remove PR links everywhere</item>
238+
<item>Footer blurb: See full release notes [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z) (single) or [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z) | [vX.Y.Z](https://docs.roocode.com/update-notes/vX.Y.Z) (combined)</item>
239+
</formatting_checklist>
240+
</reddit_format_interaction>
241+
223242
<discord_combined_interaction>
224243
<trigger>Combined Discord announcement for multiple versions</trigger>
225244
<workflow>
@@ -229,23 +248,20 @@ Which would you like to process?</question>
229248
<step>Present formatted output in markdown code block</step>
230249
</workflow>
231250
<formatting_checklist>
232-
<item>Title uses version range (X.Y.Z-X.Y.Z)</item>
233-
<item>Intro sentence summarizes all versions</item>
234-
<item>Features merged and deduplicated</item>
235-
<item>No version numbers in body text</item>
236-
<item>Footer has links to each version</item>
237-
<item>Entire output wrapped in ```markdown block</item>
238-
<item>No "Happy coding!" or similar closings</item>
239-
<item>"Feature Highlights" not "Major Features"</item>
251+
<item>Title uses ":rocket:" and version range (X.Y.Z-X.Y.Z) with "Release Updates"</item>
252+
<item>Include "@everyone" tagline line with short hero summary</item>
253+
<item>Section order: Fixed: GPT-5-Codex errors and others!, Context condensing fix, More free models on Roo Code Cloud, More Changes</item>
254+
<item>Use hyphen bullets "- " only; no emojis in section headers</item>
255+
<item>Hero sentence copied EXACTLY with PR link preserved</item>
256+
<item>Footer links as hyphen bullets to each version's docs page</item>
257+
<item>Wrap entire output in ```markdown code block</item>
240258
</formatting_checklist>
241259
<template><![CDATA[
242260
<ask_followup_question>
243-
<question>I'll create a combined Discord announcement for versions [list]. Should I:</question>
261+
<question>If the combined post is long, should I compress minor sections into a single "More Changes" paragraph?</question>
244262
<follow_up>
245-
<suggest>Include all features and changes from all versions</suggest>
246-
<suggest>Focus on major features only</suggest>
247-
<suggest>Group similar changes across versions</suggest>
248-
<suggest>Create separate announcements for each version</suggest>
263+
<suggest>Yes, compress if needed</suggest>
264+
<suggest>No, keep full details</suggest>
249265
</follow_up>
250266
</ask_followup_question>
251267
]]></template>

0 commit comments

Comments
 (0)