release

Original🇨🇳 Chinese
Translated
3 scripts

Automate the version release process of projects, including version number auto-increment, ChangeLog extraction and aggregation, code commit, tagging, and pushing to remote repositories.

1installs
Added on

NPX Install

npx skill4agent add justlookatnow/pt_mate release

SKILL.md Content (Chinese)

View Translation Comparison →

Release Skill

This Skill is designed to provide a standardized release process. It automatically handles tedious operations through scripts and uses AI to summarize user-perceivable changes.

Directory Structure

  • scripts/bump_version.py
    : Automatically updates the version number in
    pubspec.yaml
    .
  • scripts/get_commits.py
    : Extracts Git commit records since the last release.
  • scripts/format_release.py
    : Formats the release log template.

Usage Process

  1. Preparation Phase
    • Check if the current branch is the release branch (usually master/main).
    • Ensure the workspace is clean (no uncommitted changes).
  2. Version Number Update
    • Run
      python3 scripts/bump_version.py
      .
    • If a version number is provided by the user, use the specified one; otherwise, the script will automatically increment the patch version number based on the current version.
  3. Generate Release Log
    • Run
      python3 scripts/get_commits.py
      to get raw commit records.
    • Provide the records to AI, and summarize user-perceivable changes according to the definition in
      scripts/format_release.py
      .
    • The change categories should include: ✨New Features, 🐛Bug Fixes, 🔧Performance Optimizations, 📋Others. Architecture optimizations and technical details do not need to be included in the user-facing log.
  4. Commit and Tag
    • Commit the changes:
      release: {version number}\n\n{release log content}
      .
    • Create a tag:
      v{version number}
      .
  5. Push
    • Push the code and tags to the remote repository:
      git push origin {branch} --tags
      .

Notes

  • Commit messages must use actual line breaks instead of
    \n
    strings.
  • Confirm the release log content before performing the Commit operation.