Git Release Conventions
When to use this skill
- When creating git commits (any commit, not just releases)
- When user asks to push to GitHub or make a release
- When bumping version numbers
- When updating debian/changelog
Commit messages
Always write commit messages in English, regardless of conversation language.
Version source of truth
applet/voice-keyboard@perlover/metadata.json field "version" is the single source of truth.
Files to update on version bump
applet/voice-keyboard@perlover/metadata.json— bump"version"debian/changelog— add new entry at top (Debian format, see below)Makefilereads VERSION from metadata.json automaticallysettings-schema.jsonuses@@VERSION@@placeholder (substituted at install/build)
debian/changelog format
voice-keyboard-perlover (X.Y.Z-1) noble; urgency=medium
* Change description in English
-- perlover <perlover@perlover.com> Day, DD Mon YYYY HH:MM:SS +0100
Push to GitHub
When user says "push to GitHub", "release on GitHub", or similar — find the remote pointing to github.com and push there:
# Find GitHub remote name dynamically
git remote -v | grep 'github\.com' | head -1 | awk '{print $1}'
Do NOT assume origin is GitHub. Currently github remote points to GitHub, origin points to personal server.
Release workflow
- Bump patch/minor/major version in
metadata.json - Add entry to
debian/changelog - Stage changed files, commit with English message
- Create annotated tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z: ..." - Push commit and tag to the GitHub remote
Converted and distributed by TomeVault — claim your Tome and manage your conversions.