Skip to content

ricardoleal20/ChangeForge

Tool for teams that manage the creation and modification of the CHANGELOG based on a specified set of changes.

PyPi version CI checks

Installation

To install ChangeForge, you can do it through pip:

pip install changeforge

Please consider that it requires Python >=3.9

Quickstart

  1. Initialize configuration (once per repo):
changeforge init

Creates 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
  1. 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 from templates_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

Demo Create Command

  1. View pending changes and next version:
changeforge list

This is how it looks the view

Demo List Command

  1. Perform the bump (updates the version and CHANGELOG.md, clears .changesets/):
changeforge bump

For more options:

changeforge --help

Optional CI

  • bump_version.yml: automatically creates/updates a bump PR on bump-new-version (reads paths from changeforge.toml).
  • release_on_merge.yml: creates a GitHub Release when the bump PR is merged, only if it comes from the configured bump branch.

Contributing

Everyone can contribute. Before contributing, please read our code of conduct.

To contribute to ChangeForge, follow these steps:

  1. Fork this repository.
  2. Create a new branch.
  3. Make your changes and commit them.
  4. Push your changes to your fork.
  5. Create a pull request.

For a more detailed guide, please read our contributing document.

License

Project Name is released under the MIT License.

Inspiration

Inspired by Changesets.

About

✏️ Tool for teams to manage the CHANGELOG given a list of different changes.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages