Releases Documentation #
Hasami Release Management #
BonsAI uses Hasami (meaning “scissors” in Japanese) for managing release notes across all projects in the monorepo. Hasami automates version bumping, changelog generation, and release tag creation.
How Hasami Works #
- Create Release Notes: Developers create release notes for their changes using
hasamiCLI - Automated PR Creation: When changes are pushed to main/next branches, a GitHub Action creates a “Hasami Version Update” PR with updated changelogs
- Automated Tag Creation: When the “Hasami Version Update” PR is merged, release tags are automatically created in yyyy-mm-dd format
Release Process #
The BonsAI release process follows these steps:
-
Developers create release notes for their changes using the Hasami CLI:
hasami -
Release notes are stored in the
.hasami/directory -
When changes are merged to main/next, the
release-notes.ymlGitHub Action:- Runs
hasami publishto generate changelogs - Creates a PR titled “Hasami Version Update”
- Runs
-
After review, the PR is merged
-
The
release-tags.ymlGitHub Action:- Detects the merged “Hasami Version Update” PR
- Creates release tags in the format specified in
.hasami/config.toml(yyyy-mm-dd) - Attaches the tags to the main branch
Hasami CLI Usage #
For detailed documentation on using Hasami, refer to:
- Hasami README
- Run
hasami --helpfor command-line options
Common commands:
hasami- Start interactive release note creationhasami publish- Publish all release notes to changelogshasami version- Get current versions of all projectshasami init- Initialize Hasami configuration