From 26e2e3339f80b42540cecb3165622112456b2fd4 Mon Sep 17 00:00:00 2001 From: Mark IJbema Date: Mon, 13 Apr 2026 14:51:56 +0200 Subject: [PATCH] feat: custom changelog generator that skips team member attribution --- .changeset/config.json | 2 +- script/changelog-github.cjs | 59 +++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 script/changelog-github.cjs diff --git a/.changeset/config.json b/.changeset/config.json index ba8edabd23..70db0d9051 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@3.0.4/schema.json", - "changelog": ["@changesets/changelog-github", { "repo": "Kilo-Org/kilocode" }], + "changelog": ["../script/changelog-github.cjs", { "repo": "Kilo-Org/kilocode" }], "commit": false, "fixed": [["kilo-code", "@kilocode/cli"]], "linked": [], diff --git a/script/changelog-github.cjs b/script/changelog-github.cjs new file mode 100644 index 0000000000..f0aecd0e21 --- /dev/null +++ b/script/changelog-github.cjs @@ -0,0 +1,59 @@ +// kilocode_change - new file +// Custom changelog generator that wraps @changesets/changelog-github +// but strips "Thanks @user!" for team members. +const github = require("@changesets/changelog-github") + +const team = new Set([ + "actions-user", + "kilo-maintainer[bot]", + "kiloconnect[bot]", + "kiloconnect-lite[bot]", + "alexkgold", + "arimesser", + "arkadiykondrashov", + "bturcotte520", + "catrielmuller", + "chrarnoldus", + "codingelves", + "darkogj", + "dosire", + "DScdng", + "emilieschario", + "eshurakov", + "Helix-Kilo", + "iscekic", + "jeanduplessis", + "jobrietbergen", + "jrf0110", + "kevinvandijk", + "alex-alecu", + "imanolmzd-svg", + "kilocode-bot", + "kilo-code-bot[bot]", + "kirillk", + "lambertjosh", + "LigiaZ", + "marius-kilocode", + "markijbema", + "olearycrew", + "pandemicsyn", + "pedroheyerdahl", + "RSO", + "sbreitenother", + "suhailkc2025", + "Sureshkumars", +]) + +const base = github.default || github + +module.exports = { + ...base, + getReleaseLine: async (changeset, type, options) => { + const line = await base.getReleaseLine(changeset, type, options) + // Strip "Thanks @user!" for team members + return line.replace(/ Thanks \[@([^\]]+)\]\([^)]+\)!/g, (match, user) => { + if (team.has(user)) return "" + return match + }) + }, +}