The Release Agent automates the preparation of video content for software releases. It bridges the gap between changelog data and Blender-based video editing by generating scripts and assets for the release workflow.
When instructed to "Prepare a release", the agent executes the following pipeline:
- Read CHANGELOG.md to extract version information and release notes
- Read git log to identify commit history and changes
- Identify media assets in
media/[release]/directory to learn about the style and language of the content on each platform (reddit, github, patreon) - Read Patreon supporters read
media/supporters.mdfor the current list of supporters - Research the web using the webReader tool, for any recent mentions of Rayforge, to identify criticism or praise. See if you can incorporate this into the content in phase 2 - not by directly adressing it, but to understand what users care about.
Generate the following files in media/[release]/drafts/:
youtube.txt- Text for the YouTube release video descriptionreddit_post.md- Formatted post for Reddit, following the tone of the previous Reddit posts. Include credits to paying Patreon supporters.patreon_post.md- Formatted post for Patreon, following the tone of the previous Patreon postsblog_post.md- Formatted post for the website blog. Don't store this in the drafts, store it inwebsite/content/blog/posts/. Give credits to paying Patreon supporters.- Update the changelog in the appstream file (
data/org.rayforge.rayforge.metainfo.xml) - Generate five release thumbnails using the MCP tool. Something like "make a YouTube thumbnail for Rayforge 1.1 with ... [something creative]". Put the thumbnails into media/[release]/thumbs/
- Depending on the changes, check that the user documentation on the website is up to date. Check the docs by reading the application code. Update the documentation accordingly, but keep it user-centric - this is not intended as developer documentation.
- Depending on the changes listed in the changelog, re-create relevant screenshots for the docs using the
scripts/media/take_screenshot.pytool.
Style-wise, avoid using bullet-point style lists - use a friendly and approachable style that users enjoy reading. In the text files, use a maximum line length of 100 chars. Ensure you use proper links for discord and patreon and the homepage and github, not placeholders.
Clips will be stored in media/[release]/raw/*.mp4. The user may also use other formats such as mkv or avi, or plain audio files such as wav or mp3 or aac.
Generate and execute audio processing commands using the existing script:
pixi run process-audio -o media/[release]/processed/ media/[release]/raw/*.mp4Output: media/[release]/processed/ with processed video files