Tools: Say Goodbye to Changelog Chaos: Introducing changesetgoo

Tools: Say Goodbye to Changelog Chaos: Introducing changesetgoo

Source: Dev.to

Enter changesetgoo ## Why you might want to use it: If you ship libraries or APIs, you’ve undoubtedly felt the release day pain: “What actually changed in this release?” “Did we bump major, minor, or patch correctly?” “Wait, who was supposed to update the changelog?” Tracking these changes manually is tedious and error-prone, which is exactly why the Changesets workflow was created. By letting you record each change (along with its semver impact and a description) as you work, these entries are automatically merged into a single changelog at release time. This guarantees that users and tools know exactly what changed and how "breaking" a release actually is. Having spent time in the JS ecosystem working heavily with frameworks like React and Next.js, I've come to rely on the standard JS Changesets workflow. It provides a fantastic developer experience. But when stepping outside of that ecosystem, I hit a snag: I wanted that exact same workflow, but I didn't want to drag Node.js and npm into non-JavaScript projects. So, I built a solution. I built changesetgoo -- a lightweight, standalone Go CLI for managing changesets and changelogs. It brings the excellent JS Changesets workflow to Go projects (and any other repository, really) without the heavy frontend tooling dependencies. Quick Usage Getting started is as simple as running a few commands: If you care about keeping your versioning predictable and your changelogs pristine in Go—or any other repository where you want a lightweight CLI—give it a try. Feedback, issues, and contributions are always welcome! 🔗 GitHub: github.com/ChanduBobbili/changesetgoo 📦 pkg.go.dev: pkg.go.dev/github.com/ChanduBobbili/changesetgoo Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse COMMAND_BLOCK: changesetgoo add # Add a changeset (prompts for type + description) changesetgoo version # Merge changesets into CHANGELOG, bump version changesetgoo publish --push # Full release: apply, bump, commit, tag, push Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK: changesetgoo add # Add a changeset (prompts for type + description) changesetgoo version # Merge changesets into CHANGELOG, bump version changesetgoo publish --push # Full release: apply, bump, commit, tag, push COMMAND_BLOCK: changesetgoo add # Add a changeset (prompts for type + description) changesetgoo version # Merge changesets into CHANGELOG, bump version changesetgoo publish --push # Full release: apply, bump, commit, tag, push - Zero Node.js Dependency: It's a single compiled binary. You can install it with go install and run it anywhere. No extra runtimes, no node_modules. - Centralized Semver: Add your changesets as you code (major, minor, or patch + description). When you're ready, let the tool compute the exact next version and update your CHANGELOG.md automatically. - Streamlined Release Workflow: You can execute a full release cycle with a single command. It will apply your changesets, bump the version, update the changelog, commit the changes, and tag the release. It's built to be equally at home in a CI pipeline or run locally. - Git-Friendly by Design: It creates semantic tags locally, leaving you in complete control of when to push to your remote.