Operations Guide
This guide provides detailed information for Git operations and release management in IntentKit.
Git Commit
Pre-commit Steps
- Run
ruff format && ruff check --fixbefore commit.
Commit Message Format
When you generate git commit message, always start with one of feat/fix/chore/docs/test/refactor/improve.
Format: <type>: <subject>
- Subject should start with lowercase
- Only one-line needed, do not generate commit message body
Examples:
feat: add new twitter skillfix: resolve circular dependency in modelschore: update dependencies
Github Release
Version Number Rules
Follow Semantic Versioning:
- Pre-release:
vA.B.C-devD - Release:
vA.B.C
Version Calculation
- Release: +1 to patch version
C - Pre-release: +1 to
Dof-devD, but ifvA.B.Calready released, next pre-release should restart from next patch versionvA.B.(C+1)-dev1
Examples:
- Next pre-release of
v0.1.2-dev3→v0.1.2-dev4 - If
v0.1.2production release already published, next pre-release →v0.1.3-dev1
Release Steps
- Make a
git pull --rebasefirst. If the local branch is main,git pushit. - Find the last version number in release or pre-release.
- Change the version number in
pyproject.tomland run auv syncto update the lock file. - Diff
origin/mainwith it, summarize release notes to business language, not a technical one. List new features. For bug fixes and improvements, provide vague descriptions, such as "fixed bugs in the xxx module". Then save it torelease_notes.mdfor later use. Add a diff link to release note too, the from and to should be the version number. - If the release is not pre-release, also insert the release note to the beginning of
CHANGELOG.md(This file contains all history release notes, don't use it in gh command). Commit and pushrelease_notes.mdandCHANGELOG.md. - Construct
gh release createcommand, userelease_notes.mdas notes file in gh command.