chore: replace gen-release-notes with communique#504
Conversation
Switch from the custom Claude Code CLI-based release note generation script to communique, a purpose-built tool that handles AI-editorialized release notes with built-in GitHub Release integration. - Add communique to mise tools - Add communique.toml with project context - Simplify create-release job: create draft from CHANGELOG.md, then enhance with communique (continue-on-error for resilience) - Delete tasks/gen-release-notes (no longer needed) Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Summary of ChangesHello @jdx, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly refactors the release note generation process by transitioning from a custom bash script to a dedicated Rust-based tool, Highlights
Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request replaces the custom gen-release-notes bash script with communique, a dedicated tool for generating AI-editorialized release notes. The changes include adding a communique.toml configuration file, updating mise.toml to install the new tool, and removing the old script. The changes are straightforward and improve the release process. I have one suggestion to improve the readability of the new communique.toml configuration file.
| @@ -0,0 +1,4 @@ | |||
| context = "usage is a CLI argument parser library for Rust that generates shell completions, man pages, and markdown docs from a simple spec format. Think OpenAPI/Swagger for CLIs." | |||
There was a problem hiding this comment.
For better readability and maintainability, it's recommended to use a TOML multi-line string for this long context description and break it into multiple lines. This makes the configuration file easier to read and edit, and aligns with the style shown in communique's own documentation.
| context = "usage is a CLI argument parser library for Rust that generates shell completions, man pages, and markdown docs from a simple spec format. Think OpenAPI/Swagger for CLIs." | |
| context = """ | |
| usage is a CLI argument parser library for Rust that generates shell completions, | |
| man pages, and markdown docs from a simple spec format. | |
| Think OpenAPI/Swagger for CLIs. | |
| """ |
There was a problem hiding this comment.
Pull request overview
Replaces the custom bash-based gen-release-notes script with communique, a dedicated Rust tool for AI-editorialized release notes. The workflow now creates a draft release from CHANGELOG.md first, then enhances it with AI-generated content as a non-blocking step.
Changes:
- Removed custom bash script that shelled out to Claude Code CLI
- Added communique tool configuration with project context
- Simplified CI workflow to use two-step release creation with CHANGELOG.md fallback
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tasks/gen-release-notes | Removed custom bash script for generating release notes |
| mise.toml | Added communique as a managed tool dependency |
| mise.lock | Locked communique version 0.1.7 from GitHub releases |
| communique.toml | Added project context and disabled emoji in release notes |
| .github/workflows/publish-cli.yml | Simplified workflow to create draft from CHANGELOG.md then enhance with communique |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| --notes-file /tmp/release-notes.txt | ||
| - name: Enhance release notes with communique | ||
| if: ${{ startsWith(github.ref, 'refs/tags/v') }} | ||
| continue-on-error: true |
There was a problem hiding this comment.
The communique generate command requires the ANTHROPIC_API_KEY environment variable to function, but this dependency isn't obvious from the command itself. Consider adding a comment explaining that this step uses AI to enhance the release notes and requires the API key set in the env block below.
| continue-on-error: true | |
| continue-on-error: true | |
| # Uses AI (via communique/Anthropic) to enhance the release notes; requires ANTHROPIC_API_KEY set in the env block below. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #504 +/- ##
==========================================
+ Coverage 77.81% 77.88% +0.06%
==========================================
Files 47 48 +1
Lines 6595 6660 +65
Branches 6595 6660 +65
==========================================
+ Hits 5132 5187 +55
- Misses 1105 1109 +4
- Partials 358 364 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
### 🔍 Other Changes - replace gen-release-notes with communique by [@jdx](https://github.com/jdx) in [#504](#504)
Summary
tasks/gen-release-notesbash script (which shelled out to the Claude Code CLI) with communique, a purpose-built Rust tool for AI-editorialized release notescommunique.tomlwith project context andemoji = falsedefaultcreate-releaseCI job: creates a draft release from CHANGELOG.md as a baseline, then enhances it viacommunique generate --github-releasewithcontinue-on-error: trueso CHANGELOG.md content remains as fallback if communique failsTest plan
mise installpicks up communiquecommunique generate v2.16.2 --dry-runto confirm it generates notes for a past release🤖 Generated with Claude Code
Note
Low Risk
CI-only changes that affect release-note generation; failures should degrade to CHANGELOG-based notes due to the explicit fallback and
continue-on-error.Overview
Draft GitHub releases are now created from the latest
CHANGELOG.mdsection and then optionally enhanced viacommunique generate --github-release(withcontinue-on-errorso the CHANGELOG text remains the fallback).This removes the custom
tasks/gen-release-notesscript and its dependency on installing/running the Claude Code CLI, addscommunique.tomlproject context (with emojis disabled), and installscommuniqueviamise.toml.Written by Cursor Bugbot for commit 83644f5. This will update automatically on new commits. Configure here.