chore: add release-please versioning and bump to 1.0.0 - #3
Merged
Conversation
Establish a formal, automated release process for the repo: - release-please (manifest mode) maintains a release PR that bumps the unified version across server/pyproject.toml, both aibank_*/__init__.py, and plugins/ai-bank/.claude-plugin/plugin.json, and regenerates the changelog. Config in release-please-config.json + .release-please-manifest.json. - Add .github/workflows/release-please.yml. It uses RELEASE_PLEASE_TOKEN when present so the v* tag it pushes triggers the existing Docker publish workflow (mcp-server-image.yml), falling back to GITHUB_TOKEN otherwise. - Seed CHANGELOG.md (Keep a Changelog) with the 1.0.0 entry and add the MIT LICENSE file already declared in pyproject.toml. - Bump all version locations 0.1.0 -> 1.0.0 and document the release flow and the Conventional Commit convention in the README. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
The repo had no formal release process: every component sat at
0.1.0, with no git tags, no GitHub releases, no CHANGELOG, and no LICENSE file (despitepyproject.tomldeclaring MIT), and the version was duplicated across four files with nothing keeping them in sync. This PR puts the repo on a real release footing and prepares the first v1.0.0 release.Approach
CHANGELOG.md.release-type: simple, so the version of record lives in.release-please-manifest.jsonand every file is bumped explicitly viaextra-files(ajsonupdater forplugin.json; thegenericupdater keyed on# x-release-please-versioncomments forpyproject.tomland the two__init__.pyfiles). This is used instead ofrelease-type: pythonbecause those files live underserver/src/…, not the repo root.Changes
release-please-config.json,.release-please-manifest.json1.0.0).github/workflows/release-please.ymlLICENSEpyproject.tomlCHANGELOG.md1.0.0entryserver/pyproject.toml,server/src/aibank_mcp/__init__.py,server/src/aibank_web/__init__.py,plugins/ai-bank/.claude-plugin/plugin.json0.1.0→1.0.0(+ release-please annotations)README.mdHow releases work after this merges
Merges to
mainbuild up a standing release PR; merging it tagsvX.Y.Z, cuts a GitHub Release, and the existingmcp-server-image.yml(already triggered onv*) publishesghcr.io/launchpadlab/aibank-mcp:X.Y.Z. Version bumps/changelog are derived from Conventional Commit subjects (feat:/fix:/feat!:) — recommended, not CI-enforced.Post-merge steps (maintainer)
RELEASE_PLEASE_TOKENrepo secret (fine-grained PAT or GitHub App token, Contents + Pull requests RW) so the tag release-please pushes on future releases triggers the Docker publish workflow. Without it, releases still work but that image must be built from the tag manually. (The manual v1.0.0 bootstrap above is unaffected.)Verification done
claude plugin validate . --strictandclaude plugin validate ./plugins/ai-bank --strict→ both pass.pyproject.tomlparses (tomllib); both Python packages import at1.0.0; all four version locations + the manifest read1.0.0.ruff+pytest) runs automatically on this PR.🤖 Generated with Claude Code