io.github.CloudCorpRecords/changesetgen
Changeset and changelog entries from PR commits, grouped by type in the repo's own convention.
ماذا يمكنك أن تفعل مع io.github.CloudCorpRecords/changesetgen؟
generate_changeset— Generate a changeset and
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
@reneturcios/changesetgenclaude mcp add changesetgen -- npx -y @reneturcios/changesetgen@0.1.0 mcp
{
"mcpServers": {
"changesetgen": {
"command": "npx",
"args": [
"-y",
"@reneturcios/changesetgen@0.1.0",
"mcp"
]
}
}
}
ghcr.io/cloudcorprecords/changesetgen:0.1.0claude mcp add changesetgen -- docker run -i --rm ghcr.io/cloudcorprecords/changesetgen:0.1.0 mcp
{
"mcpServers": {
"changesetgen": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/cloudcorprecords/changesetgen:0.1.0",
"mcp"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
changesetgen
Every pull request eventually needs a changeset: the short markdown entry that tells the next release what changed and how big the version bump should be. changesetgen writes that entry from the PR's commits for you, in the repo's own convention:
- Grouped by type — commits are bucketed by their conventional-commit type and printed under fixed section labels (Features, Fixes, Performance, Refactoring, Documentation, Tests, Build, CI, Style, Chores, Reverts, Other changes). A type with no fixed label is printed with its first character uppercased, and a commit with no type lands in Other changes.
- Ordered your way — groups follow a canonical order by
default; pass
convention.group_orderto pull the groups you care about to the front, and the rest still follow in canonical order with unlisted types last, alphabetically. Inside a group, commits keep the order you supplied them. - Entry lines that carry the details — a scoped commit
prints as
- **scope:** description, and a breaking commit's line ends with[breaking], so the risky changes are visible at a glance. - Files changed — when you supply the PR's file list,
a closing Files changed section lists it in input order;
turn it off with
convention.include_files: false. - Bump suggestion —
majorwhen anything is breaking, elseminorwhen any commit is a feat, elsepatch, alongside the commit count, the breaking count, and a per-group summary in output order.
The heading defaults to ## Changes, takes your package
name when you pass one, and can be replaced entirely with
convention.heading_prefix. Commit hashes are accepted for
reference but never printed. The computation is pure and
local: no network, no configuration, no files read beyond
the arguments you pass in. Invalid input — an empty commit
list, a commit without a description, a mistyped field —
is rejected with an error naming the offending path, and
no partial entry is produced.
CLI
npx @reneturcios/changesetgen generate --input args.json
npx @reneturcios/changesetgen --version
args.json contains the full arguments object:
{
"commits": [
{ "type": "feat", "scope": "ui", "description": "add export button" },
{ "type": "fix", "description": "stop crash on empty file", "hash": "abc123" },
{ "type": "feat", "scope": "api", "description": "drop the v1 endpoints", "breaking": true }
],
"files_changed": ["src/export.ts", "src/api.ts"],
"package_name": "my-pkg",
"convention": { "group_order": ["feat", "fix"] }
}
Only commits is required, and only description is
required per commit. The generated changeset is printed
as JSON: {markdown, bump, commit_count, breaking_count,
groups}.
Exit codes: 0 on success, 1 on a runtime error
(including an unreadable or invalid input file, or invalid
input), 2 on a usage error.
MCP server
npx -y @reneturcios/changesetgen mcp
MCP client config:
{
"mcpServers": {
"changesetgen": {
"command": "npx",
"args": ["-y", "@reneturcios/changesetgen", "mcp"]
}
}
}
Tools
generate_changeset— Generate a changeset and changelog entry from a PR's commits.commits(array, required, at least one) — commits as{description, hash?, type?, scope?, breaking?}objects;descriptionis required and non-emptyfiles_changed(array of strings, optional) — files the PR touched, listed in the Files changed sectionpackage_name(string, optional) — appended to the headingconvention(object, optional) —{heading_prefix?, group_order?, include_files?}overrides for the heading text, the group order, and whether the files section appears
Returns
{markdown, bump, commit_count, breaking_count, groups}.
Docker
docker run -i ghcr.io/cloudcorprecords/changesetgen
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/changesetgen generate --input /w/args.json
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (pure local, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
الأسئلة الشائعة
ما هو io.github.CloudCorpRecords/changesetgen؟
Changeset and changelog entries from PR commits, grouped by type in the repo's own convention.
كيف أثبّت io.github.CloudCorpRecords/changesetgen؟
يعمل على جهازك. في Claude Code: claude mcp add changesetgen -- npx -y @reneturcios/changesetgen@0.1.0 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج io.github.CloudCorpRecords/changesetgen إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل io.github.CloudCorpRecords/changesetgen مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون io.github.CloudCorpRecords/changesetgen؟
ينشره CloudCorpRecords. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.