A Zulip bot agent to sit in our Black Sun. Ever evolving
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Change poe changelog to bullet points with project and change type

Updated changelog format to use bullet points with:
- Project name in bold at the start
- One or two sentence description
- Change type in italics at the end (new feature, bug fix, enhancement, etc.)

Example output:
- **ocaml-zulip**: Fixed encoding bug in channel lookups. *bug fix*
- **poe**: Updated to use Opus 4.5 model. *enhancement*

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+20 -15
+16 -10
lib/changelog.ml
··· 161 161 in 162 162 163 163 let prompt = Printf.sprintf 164 - {|You are writing a brief changelog update for a Zulip channel about a monorepo. 164 + {|You are writing a changelog update for a Zulip channel about a monorepo. 165 165 166 166 Git commits: 167 167 ··· 173 173 174 174 %s 175 175 176 - Write a concise changelog as natural prose (not bullet points). For each change or group of related changes, mention the relevant sub-project in parentheses. Use @**Name** mentions when authors match channel members. 176 + Write a bullet-point changelog. Each bullet should have the project name first in bold, then a brief description of the change, and the change type in italics at the end. 177 177 178 - Example style: 179 - "Added new model types for Opus 4.5 and 4.1 (ocaml-claudeio) and updated poe to use the latest model. Fixed an encoding bug in channel name lookups (ocaml-zulip) that affected names with spaces." 178 + Format: 179 + - **project-name**: Description of the change. *change type* 180 + 181 + Example: 182 + - **ocaml-claudeio**: Added model types for Opus 4.5 and 4.1. *new feature* 183 + - **ocaml-zulip**: Fixed encoding bug in channel name lookups that affected names with spaces. *bug fix* 184 + - **poe**: Updated to use the latest Opus model for changelog generation. *enhancement* 180 185 181 186 Guidelines: 182 - 1. Group related commits into single sentences 183 - 2. Tag each change with its sub-project in parentheses 184 - 3. Keep it brief - 2-4 sentences total 185 - 4. Focus on user-visible changes; mention internal refactoring only briefly if at all 186 - 5. No bullet points, no emojis - just clear, natural sentences 187 + 1. One bullet per logical change (group related commits) 188 + 2. Project name in bold at the start 189 + 3. One or two sentences describing the change 190 + 4. Change type in italics at the end: *new feature*, *bug fix*, *enhancement*, *refactoring*, etc. 191 + 5. Use @**Name** mentions when authors match channel members 192 + 6. No emojis 187 193 188 - Write ONLY the changelog text, no preamble.|} commits_text subprojects_text members_text 194 + Write ONLY the bullet points, no preamble or header.|} commits_text subprojects_text members_text 189 195 in 190 196 191 197 let response = ask_claude ~sw ~proc ~clock prompt in
+4 -5
lib/changelog.mli
··· 61 61 commits:commit list -> 62 62 members:channel_member list -> 63 63 string option 64 - (** [generate ~sw ~proc ~clock ~commits ~members] generates a narrative 64 + (** [generate ~sw ~proc ~clock ~commits ~members] generates a bullet-point 65 65 changelog using Claude. Returns [None] if commits is empty, or 66 66 [Some changelog] with the generated text. 67 67 68 - The changelog is written as natural prose (not bullet points), with each 69 - change tagged by its sub-project in parentheses. Related changes are 70 - grouped into sentences, and @**Name** mentions are used for authors 71 - matching channel members. *) 68 + Each bullet has the project name in bold, a description of the change, 69 + and the change type in italics (e.g. "new feature", "bug fix"). 70 + Zulip @-mentions are used for authors matching channel members. *)