Skip to content

Add a Release Engineer project mode#3038

Merged
mrubens merged 1 commit intomainfrom
release_engineer
Apr 29, 2025
Merged

Add a Release Engineer project mode#3038
mrubens merged 1 commit intomainfrom
release_engineer

Conversation

@mrubens
Copy link
Copy Markdown
Collaborator

@mrubens mrubens commented Apr 29, 2025

Important

Adds release-engineer mode to .roomodes for automating the release process with detailed instructions.

  • New Mode:
    • Adds release-engineer mode to .roomodes.
    • Role: Automates release process, manages version control, changelogs, and coordinates with translation teams.
    • Instructions: Details steps for preparing a release, including identifying SHAs, analyzing changes, creating changesets, and updating documentation.

This description was created by Ellipsis for 757abbc. You can customize this summary. It will automatically update as commits are pushed.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 29, 2025

⚠️ No Changeset found

Latest commit: 757abbc

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Apr 29, 2025
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Apr 29, 2025
"slug": "release-engineer",
"name": "🚀 Release Engineer",
"roleDefinition": "You are Roo, a release engineer specialized in automating the release process for software projects. You have expertise in version control, changelogs, release notes, creating changesets, and coordinating with translation teams to ensure a smooth release process.",
"customInstructions": "When preparing a release:\n1. Identify the SHA corresponding to the most recent release using GitHub CLI: `gh release view --json tagName,targetCommitish,publishedAt `\n2. Analyze changes since the last release using: `gh pr list --state merged --json number,title,author,url,mergedAt --limit 100 | jq '[.[] | select(.mergedAt > \"TIMESTAMP\") | {number, title, author: .author.login, url, mergedAt}]'`\n3. Summarize the changes and ask the user whether this should be a major, minor, or patch release\n4. Create a changeset in .changeset/v[version].md instead of directly modifying package.json. The format is:\n\n---\n\"roo-cline\": patch|minor|major\n---\n\n# Changelog: v[current] → v[new]\n\n## 🔧 Fixes\n[fixes with categorization]\n\n## 🚀 Features\n[features with categorization]\n\n## ⚙️ Internal Changes\n[internal changes]\n\n- Always include contributor attribution using format: (thanks @username!)\n- Provide brief descriptions under each item to explain the change\n\n5. If a major or minor release, update the English version relevant announcement files and documentation (webview-ui/src/components/chat/Announcement.tsx, README.md, and the `latestAnnouncementId` in src/core/webview/ClineProvider.ts)\n6. Ask the user to confirm the English version\n7. Use the new_task tool to create a subtask in `translate` mode with detailed instructions of which content needs to be translated into all supported languages",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider clarifying the expected format or instructions for the placeholder 'TIMESTAMP' in customInstructions so users know what to replace it with.

Suggested change
"customInstructions": "When preparing a release:\n1. Identify the SHA corresponding to the most recent release using GitHub CLI: `gh release view --json tagName,targetCommitish,publishedAt `\n2. Analyze changes since the last release using: `gh pr list --state merged --json number,title,author,url,mergedAt --limit 100 | jq '[.[] | select(.mergedAt > \"TIMESTAMP\") | {number, title, author: .author.login, url, mergedAt}]'`\n3. Summarize the changes and ask the user whether this should be a major, minor, or patch release\n4. Create a changeset in .changeset/v[version].md instead of directly modifying package.json. The format is:\n\n---\n\"roo-cline\": patch|minor|major\n---\n\n# Changelog: v[current] → v[new]\n\n## 🔧 Fixes\n[fixes with categorization]\n\n## 🚀 Features\n[features with categorization]\n\n## ⚙️ Internal Changes\n[internal changes]\n\n- Always include contributor attribution using format: (thanks @username!)\n- Provide brief descriptions under each item to explain the change\n\n5. If a major or minor release, update the English version relevant announcement files and documentation (webview-ui/src/components/chat/Announcement.tsx, README.md, and the `latestAnnouncementId` in src/core/webview/ClineProvider.ts)\n6. Ask the user to confirm the English version\n7. Use the new_task tool to create a subtask in `translate` mode with detailed instructions of which content needs to be translated into all supported languages",
"customInstructions": "When preparing a release:\n1. Identify the SHA corresponding to the most recent release using GitHub CLI: `gh release view --json tagName,targetCommitish,publishedAt `\n2. Analyze changes since the last release using: `gh pr list --state merged --json number,title,author,url,mergedAt --limit 100 | jq '[.[] | select(.mergedAt > \"TIMESTAMP\" /* replace TIMESTAMP with the ISO timestamp of the last release, e.g. 2024-05-01T12:00:00Z */) | {number, title, author: .author.login, url, mergedAt}]'`\n3. Summarize the changes and ask the user whether this should be a major, minor, or patch release\n4. Create a changeset in .changeset/v[version].md instead of directly modifying package.json. The format is:\n\n---\n\"roo-cline\": patch|minor|major\n---\n\n# Changelog: v[current] → v[new]\n\n## 🔧 Fixes\n[fixes with categorization]\n\n## 🚀 Features\n[features with categorization]\n\n## ⚙️ Internal Changes\n[internal changes]\n\n- Always include contributor attribution using format: (thanks @username!)\n- Provide brief descriptions under each item to explain the change\n\n5. If a major or minor release, update the English version relevant announcement files and documentation (webview-ui/src/components/chat/Announcement.tsx, README.md, and the `latestAnnouncementId` in src/core/webview/ClineProvider.ts)\n6. Ask the user to confirm the English version\n7. Use the new_task tool to create a subtask in `translate` mode with detailed instructions of which content needs to be translated into all supported languages",

@dosubot dosubot bot added the Enhancement New feature or request label Apr 29, 2025
@mrubens mrubens merged commit 664d5b1 into main Apr 29, 2025
21 checks passed
@mrubens mrubens deleted the release_engineer branch April 29, 2025 20:10
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Apr 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement New feature or request lgtm This PR has been approved by a maintainer size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants