Skip to main content

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

Project description

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

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
  1. View pending changes and next version:
changeforge list
  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.

License

Project Name is released under the MIT License.

Inspiration

Inspired by Changesets.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

changeforge-0.1.0.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

changeforge-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file changeforge-0.1.0.tar.gz.

File metadata

  • Download URL: changeforge-0.1.0.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.13 Darwin/23.6.0

File hashes

Hashes for changeforge-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d0804e583e85b08b7c2eae0824c517f24377d145e378eead90bc9f022222231c
MD5 69f94cc5ed8b34a32787bd33f8e65fa2
BLAKE2b-256 e2a43ef98cca2ecdf27aa13f145e7bba61fe2efbf7e96993a3890fbb7a8b8191

See more details on using hashes here.

File details

Details for the file changeforge-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for changeforge-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 173fdb669b41e4ce8e26c955500a75b4b843e734d7f83576d88a094e2335deb8
MD5 f3aebcc0e8cf0a2e2bf15e47fbc100bd
BLAKE2b-256 2b1c227d6d0f615202a157ed0397a17325cf5ddb61109ec98d11b0f5afa41c0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page