qmai-release

Automates QMAI stable releases by versioning, validating, pushing main, and tagging after CI cache warmup.

751|136|Updated May 31, 2026
One-click install
npx skills add https://github.com/Mochocyang/QMAI --skill qmai-release
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: qmai-release
Source: https://github.com/Mochocyang/QMAI/tree/main/.agents/skills/qmai-release
Command: npx skills add https://github.com/Mochocyang/QMAI --skill qmai-release

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Releasing a stable QMAI version involves many error-prone manual steps: updating version metadata across package.json, Cargo.toml, and tauri.conf.json, generating changelog notes, waiting for CI cache warmup, and tagging in the correct order. This Skill enforces a safe, repeatable release workflow that prevents tagging broken commits or pushing tags prematurely.

Core Features & Use Cases

  • Complete version surface update: Synchronizes the version across package.json, package-lock.json, Cargo.toml, Cargo.lock, tauri.conf.json, and the changelog files.
  • Validation gating: Runs release-notes generation, vitest changelog tests, mock tests, build, and diff checks before any commit is made.
  • Ordered push and tag workflow: Pushes main alone, waits for the matching CI run on the exact release SHA to succeed, then creates and pushes an annotated version tag separately.
  • Use Case: When asked to publish QMAI v2.2.33, the Skill updates all version files, validates the build, pushes main, waits for the CI cache warmup to finish, tags v2.2.33, and verifies the multi-platform release workflow started.

Quick Start

Release QMAI version 2.2.33 as a stable release with full validation and tagging.

Frequently Asked Questions about qmai-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I release a stable version of a Tauri desktop app?

Update the version in package.json, package-lock.json, Cargo.toml, Cargo.lock, and tauri.conf.json, regenerate changelog notes, run tests and build, then push main and create an annotated tag only after CI succeeds on the release commit.

Why wait for CI before pushing a release tag?

Waiting for the CI run on the exact release commit lets the Linux, Windows, and macOS release-cache warmup complete. Tagging before CI succeeds risks triggering the release workflow on an unvalidated or uncached commit.

Can I push main and the version tag in one command?

No. The workflow requires pushing main alone first, waiting for the matching CI run to succeed, then creating and pushing the annotated tag in a separate command. Atomic pushes bypass the cache warmup gate.

What happens if origin/main moves before tagging?

The workflow stops and reconciles the new remote state instead of tagging an older commit. Local HEAD, origin/main, and the recorded release SHA must all match before the tag is created.

Does this workflow support prerelease builds?

No. The Skill explicitly covers only stable semantic-version releases of QMAI. Prerelease builds and ordinary pull request delivery are out of scope and should use a different process.