Tool for teams that manage the creation and modification of the CHANGELOG based on a specified set of changes.
To install ChangeForge, you can do it through pip:
pip install changeforge
Please consider that it requires Python >=3.9
- Initialize configuration (once per repo):
changeforge initCreates changeforge.toml, lets you enable 🤖 AI messages and 💾 commit‑after‑create, and optionally generates the CI workflows (.github/workflows/bump_version.yml, .github/workflows/release_on_merge.yml).
Example changeforge.toml:
[changeforge]
version_path = ["pyproject.toml", "Cargo.toml"]
changesets_dir = ".changesets"
changelog_path = "CHANGELOG.md"
ai_enabled = true
templates_dir = "templates/messages" # empty to disable
commit_on_create = true- Create a changeset:
changeforge create- Select the change type (MAJOR/MINOR/PATCH) and a tag
- Pick a module from Git changes or the filesystem, or type a path
- Changeset message: AI (if
ai_enabled), a template fromtemplates_dir(if any files exist), or manual text - If
commit_on_create = true, you'll be prompted to commit the changeset and the selected file
- View pending changes and next version:
changeforge listThis is how it looks the view
- Perform the bump (updates the version and
CHANGELOG.md, clears.changesets/):
changeforge bumpFor more options:
changeforge --helpbump_version.yml: automatically creates/updates a bump PR onbump-new-version(reads paths fromchangeforge.toml).release_on_merge.yml: creates a GitHub Release when the bump PR is merged, only if it comes from the configured bump branch.
Everyone can contribute. Before contributing, please read our code of conduct.
To contribute to ChangeForge, follow these steps:
- Fork this repository.
- Create a new branch.
- Make your changes and commit them.
- Push your changes to your fork.
- Create a pull request.
For a more detailed guide, please read our contributing document.
Project Name is released under the MIT License.
Inspired by Changesets.


