|
| 1 | +--- |
| 2 | +description: Generate Discord-formatted release notes from existing release files |
| 3 | +argument-hint: <version(s)> [compress] |
| 4 | +--- |
| 5 | + |
| 6 | +<task> |
| 7 | +Generate Discord-formatted release notes from existing Roo Code release documentation |
| 8 | +</task> |
| 9 | + |
| 10 | +<context> |
| 11 | +Discord has specific formatting requirements and character limits. Release notes need to be |
| 12 | +transformed from the documentation format to be suitable for Discord announcements while |
| 13 | +maintaining clarity and highlighting key features. |
| 14 | +</context> |
| 15 | + |
| 16 | +<requirements> |
| 17 | + <input_handling> |
| 18 | + - Accept single version: "3.20.3" or "v3.20.3" |
| 19 | + - Accept multiple versions: "3.20.3, 3.20.4" |
| 20 | + - Support optional compression flag for long notes |
| 21 | + - Validate that release files exist before processing |
| 22 | + </input_handling> |
| 23 | + |
| 24 | + <transformations> |
| 25 | + <remove_elements> |
| 26 | + - All PR links and numbers (e.g., ([#1234](link)) becomes empty) |
| 27 | + - GitHub-specific formatting |
| 28 | + - Frontmatter sections |
| 29 | + </remove_elements> |
| 30 | + |
| 31 | + <convert_links> |
| 32 | + - Internal docs: [text](/path) → [text](https://docs.roocode.com/path) |
| 33 | + - Preserve external links as-is |
| 34 | + - Ensure all links are absolute |
| 35 | + </convert_links> |
| 36 | + |
| 37 | + <preserve_elements> |
| 38 | + - Section structure and headings |
| 39 | + - Contributor acknowledgments (thanks username!) |
| 40 | + - Feature descriptions and benefits |
| 41 | + - Bullet point formatting |
| 42 | + </preserve_elements> |
| 43 | + </transformations> |
| 44 | + |
| 45 | +<output_format> |
| 46 | +<single_version> - Include version and date in title - Maintain original section order - Add footer: [Full X.Y.Z Release Notes](https://docs.roocode.com/update-notes/vX.Y.Z) |
| 47 | +</single_version> |
| 48 | + |
| 49 | + <multiple_versions> |
| 50 | + - Separate sections per version with clear headers |
| 51 | + - Option to combine by category with version indicators |
| 52 | + - Include footer links for each version |
| 53 | + </multiple_versions> |
| 54 | + |
| 55 | + <compression optional="true"> |
| 56 | + - When character count exceeds 1800 (leaving buffer for Discord's 2000 limit) |
| 57 | + - Compress smaller sections into summary format |
| 58 | + - Keep major features expanded |
| 59 | + - Format: "## :wrench: [Other Improvements and Fixes](link)" |
| 60 | + - List contributor count and affected areas |
| 61 | + </compression> |
| 62 | + |
| 63 | +</output_format> |
| 64 | +</requirements> |
| 65 | + |
| 66 | +<workflow> |
| 67 | + <step number="1"> |
| 68 | + <action>Parse version input</action> |
| 69 | + <details> |
| 70 | + - Extract version numbers (with or without 'v' prefix) |
| 71 | + - Detect compression flag if present |
| 72 | + - Handle comma-separated lists for multiple versions |
| 73 | + </details> |
| 74 | + </step> |
| 75 | + |
| 76 | + <step number="2"> |
| 77 | + <action>Verify release files exist</action> |
| 78 | + <details> |
| 79 | + - Check docs/update-notes/vX.Y.Z.mdx for each version |
| 80 | + - If missing, offer to process only existing versions |
| 81 | + - Provide clear error message for missing files |
| 82 | + </details> |
| 83 | + </step> |
| 84 | + |
| 85 | + <step number="3"> |
| 86 | + <action>Read and transform content</action> |
| 87 | + <details> |
| 88 | + - Load release notes content |
| 89 | + - Apply all transformations listed in requirements |
| 90 | + - Preserve markdown formatting for Discord |
| 91 | + - Calculate character count for compression decisions |
| 92 | + </details> |
| 93 | + </step> |
| 94 | + |
| 95 | + <step number="4"> |
| 96 | + <action>Format for Discord</action> |
| 97 | + <details> |
| 98 | + - Apply Discord-friendly formatting |
| 99 | + - Use emoji for visual appeal where appropriate |
| 100 | + - Ensure proper spacing between sections |
| 101 | + - Add version indicators for multi-version output |
| 102 | + </details> |
| 103 | + </step> |
| 104 | + |
| 105 | + <step number="5"> |
| 106 | + <action>Handle character limits</action> |
| 107 | + <details> |
| 108 | + - Check total character count |
| 109 | + - If over 1800 chars and compression requested, apply compression |
| 110 | + - If over 2000 chars without compression, warn user |
| 111 | + - Suggest splitting into multiple messages if needed |
| 112 | + </details> |
| 113 | + </step> |
| 114 | + |
| 115 | + <step number="6"> |
| 116 | + <action>Output formatted text</action> |
| 117 | + <details> |
| 118 | + - Display the formatted announcement |
| 119 | + - Do NOT create any files |
| 120 | + - Provide copy-ready text block |
| 121 | + - Include character count information |
| 122 | + </details> |
| 123 | + </step> |
| 124 | +</workflow> |
| 125 | + |
| 126 | +<examples> |
| 127 | + <example name="single_version"> |
| 128 | + <input>/discord-release-notes 3.20.3</input> |
| 129 | + <output_preview> |
| 130 | +# Roo Code 3.20.3 Release Notes (2024-01-15) |
| 131 | + |
| 132 | +This release adds context condensing, improves performance, and fixes UI bugs. |
| 133 | + |
| 134 | +## Context Condensing is Now Default |
| 135 | + |
| 136 | +We've made context condensing the default behavior (thanks contributor!): |
| 137 | + |
| 138 | +- **Automatic optimization**: Reduces token usage by up to 40% |
| 139 | +- **Smart selection**: Preserves relevant context |
| 140 | +- **Configurable**: Adjust settings via preferences |
| 141 | + |
| 142 | +This significantly improves response times for large codebases. |
| 143 | + |
| 144 | +## Bug Fixes |
| 145 | + |
| 146 | +- **File handling**: Fixed errors with special characters (thanks user1!) |
| 147 | +- **Terminal output**: Resolved streaming issues (thanks user2!) |
| 148 | + |
| 149 | +[Full 3.20.3 Release Notes](https://docs.roocode.com/update-notes/v3.20.3) |
| 150 | +</output_preview> |
| 151 | +</example> |
| 152 | + |
| 153 | + <example name="multiple_versions_compressed"> |
| 154 | + <input>/discord-release-notes 3.20.3, 3.20.4 compress</input> |
| 155 | + <output_preview> |
| 156 | +# Roo Code Updates: v3.20.3 & v3.20.4 |
| 157 | + |
| 158 | +## v3.20.3 - Context Condensing (2024-01-15) |
| 159 | + |
| 160 | +Major feature: Context condensing is now default, reducing token usage by up to 40% (thanks contributor!) |
| 161 | + |
| 162 | +## v3.20.4 - Performance Boost (2024-01-18) |
| 163 | + |
| 164 | +Key improvements: 2x faster file operations and improved memory usage (thanks dev-team!) |
| 165 | + |
| 166 | +## :wrench: Other Improvements and Fixes |
| 167 | + |
| 168 | +Both releases include 15+ bug fixes and QOL improvements. Thanks to all 12 contributors! |
| 169 | + |
| 170 | +Release Notes: [v3.20.3](https://docs.roocode.com/update-notes/v3.20.3) | [v3.20.4](https://docs.roocode.com/update-notes/v3.20.4) |
| 171 | +</output_preview> |
| 172 | +</example> |
| 173 | +</examples> |
| 174 | + |
| 175 | +<error_handling> |
| 176 | +<scenario type="missing_file"> |
| 177 | +<message>Release notes for version X.Y.Z not found. Would you like to: 1. Process only existing versions 2. Create release notes first 3. Cancel</message> |
| 178 | +</scenario> |
| 179 | + |
| 180 | + <scenario type="character_limit"> |
| 181 | + <message>Warning: Output exceeds Discord's 2000 character limit (current: [count]). |
| 182 | + Consider using 'compress' flag or splitting into multiple messages.</message> |
| 183 | + </scenario> |
| 184 | + |
| 185 | + <scenario type="invalid_version"> |
| 186 | + <message>Invalid version format. Please use: X.Y.Z or vX.Y.Z</message> |
| 187 | + </scenario> |
| 188 | +</error_handling> |
| 189 | + |
| 190 | +<output_instructions> |
| 191 | +Present the Discord-formatted text in a code block for easy copying. |
| 192 | +Include metadata: character count, versions processed, compression status. |
| 193 | +Never create files - only display formatted output. |
| 194 | +</output_instructions> |
0 commit comments