Release automation workflow

VerifiedCaution

Automates the release process by performing secret detection via gitleaks, generating CHANGELOG.md from commit history, bumping version across multiple files (package.json, Cargo.toml, tauri.conf.json), and creating a git tag with push. Helps streamline releases and reduce manual errors when you say "release vX.Y.Z".

Sby Skills Guide Bot
DevOpsIntermediate
806/2/2026
Claude Code
#release#versioning#changelog#gitleaks#automation

Recommended for

Our review

Automates the release process: secret checking (gitleaks), CHANGELOG generation, version bump, commit, tag, and push.

Strengths

  • Integrates gitleaks security scanning before each release
  • Auto-generates a structured CHANGELOG from commit history
  • Updates three version files simultaneously (package.json, Cargo.toml, tauri.conf.json)

Limitations

  • Requires gitleaks to be installed in the environment
  • Commit categorization into changelog sections may be inaccurate
  • Does not handle merge conflicts or push errors
When to use it

When preparing a new version of a Tauri/Node.js project and need a standardized, secure release workflow.

When not to use it

For releases requiring complex manual validation or custom build steps not covered by the automation.

Security analysis

Caution
Quality score88/100

The skill automates a release process involving git push, npm, and gitleaks. All actions are standard for a release workflow, and it includes a secret scan step and user confirmation to mitigate risks. No destructive or malicious commands.

Findings
  • Executes git push to remote repository, which could propagate changes unintentionally if the user is not careful. However, user confirmation is required.
  • Uses npm install --package-lock-only, which is generally safe but modifies lockfile.
  • Runs gitleaks, a third-party tool, which is fine for its purpose.

Examples

Release version 1.4.0
v1.4.0 をリリースしたい
Complete release process
リリースしたい

name: release description: 機密情報チェック→CHANGELOG生成→バージョンバンプ→コミット→タグ→プッシュのリリース作業を実行。「リリースしたい」「vX.Y.Z をリリース」と言った時に使用 argument-hint: <version>

Leaner Waigaya リリース手順

引数として新バージョン(例: 1.4.0)を受け取り、以下の手順でリリース作業を行う。

手順

1. 準備確認

  • 引数の <version> から v プレフィックスを除去して正規化する(例: v1.4.01.4.0
  • package.json の現在バージョンを読んで直前タグ(例: v1.3.0)を確認する
  • ユーザーに確認する:「現在 X.Y.Z → v{version} にリリースします。よろしいですか?」
  • git status でコミットされていない変更がないか確認する(あれば警告)

2. 機密情報チェック(gitleaks)

直前タグからHEADまでの差分を gitleaks でスキャンする:

gitleaks detect --log-opts="-p v{prevVersion}..HEAD"
  • 検出あり: リリースを中断し、該当箇所をユーザーに報告する
  • 検出なし: 「機密情報は検出されませんでした」と報告して次へ進む

3. CHANGELOG.md 生成

git log v{prevVersion}..HEAD --oneline でコミット一覧を取得し、内容を読んで以下の形式で CHANGELOG.md の先頭に追記する(既存の CHANGELOG.md がなければ新規作成):

## [X.Y.Z] - YYYY-MM-DD

### Added
- 新機能の説明

### Fixed
- バグ修正の説明

### Changed
- 変更の説明
  • バージョンバンプ用コミットメッセージ(例: "v1.3.0 リリース")はChangelog から除外する
  • コミットメッセージから内容を推測して適切なカテゴリに分類する

4. バージョンバンプ(3ファイル同時更新)

以下の3ファイルのバージョン文字列を更新する:

| ファイル | 更新箇所 | |----------|----------| | package.json | "version": "..." | | src-tauri/Cargo.toml | version = "..." | | src-tauri/tauri.conf.json | "version": "..." |

5. package-lock.json 更新

npm install --package-lock-only

6. コミット

git add CHANGELOG.md package.json package-lock.json src-tauri/Cargo.toml src-tauri/tauri.conf.json
git commit -m "v{version} リリース"

7. タグ作成 & プッシュ

git tag v{version}
git push origin main
git push origin v{version}

8. 完了報告

リリース完了後、以下を報告する:

  • タグ v{version} を作成してプッシュした旨
  • GitHub Actions が自動ビルド・リリースを実行している旨
  • GitHub のリリースページ URL(リポジトリ: leaner-co-jp/leaner-waigaya
Related skills