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»).

NPM package @reneturcios/changesetgen
Claude Code
claude mcp add changesetgen -- npx -y @reneturcios/changesetgen@0.1.0 mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "changesetgen": {
            "command": "npx",
            "args": [
                "-y",
                "@reneturcios/changesetgen@0.1.0",
                "mcp"
            ]
        }
    }
}
OCI package ghcr.io/cloudcorprecords/changesetgen:0.1.0
Claude Code
claude mcp add changesetgen -- docker run -i --rm ghcr.io/cloudcorprecords/changesetgen:0.1.0 mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "changesetgen": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/cloudcorprecords/changesetgen:0.1.0",
                "mcp"
            ]
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. changesetgen
  2. CLI
  3. MCP server
  4. Docker
  5. Development
  6. License

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_order to 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 — major when anything is breaking, else minor when any commit is a feat, else patch, 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; description is required and non-empty
    • files_changed (array of strings, optional) — files the PR touched, listed in the Files changed section
    • package_name (string, optional) — appended to the heading
    • convention (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 الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.