gitstack 5.3.0

Git history viewer with insights - Author stats, file heatmap, code ownership
Documentation
---
name: gitstack-release
description: gitstackプロジェクトのリリース工程を管理するスキル。バージョン番号の決定(パッチ/マイナー/メジャー)、ローカルテスト実行、PR作成・マージ、GitHub/crates.ioへのリリースを行う。「リリースして」「バージョンアップして」「v1.2.3をリリース」などのリリース関連タスクで使用する。
---

# gitstack Release

gitstackプロジェクトのリリースワークフロー。

## バージョニングルール

セマンティックバージョニング `MAJOR.MINOR.PATCH` (例: 1.2.3)

| リリース種別 | 変更箇所 || 用途 |
|------------|---------|-----|------|
| パッチ | 右の数字 | 1.2.0 → 1.2.1 | バグ修正、軽微な改善 |
| マイナー | 真ん中 | 1.2.0 → 1.3.0 | 新機能追加(後方互換あり) |
| メジャー | 左の数字 | 1.2.0 → 2.0.0 | 破壊的変更 |

## リリースワークフロー

### 1. リリースブランチ作成

```bash
git checkout main
git pull origin main
git checkout -b chore/v{VERSION}
```

### 2. バージョン更新

Cargo.tomlの`version`を更新し、`cargo build`でCargo.lockを更新。

### 3. ローカルCI実行

GitHub Actionsは使用しない(無料枠なし)。以下をローカルで実行:

```bash
cargo test --verbose
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --all -- --check
cargo build --release --verbose
```

全てパスするまで修正を繰り返す。

### 4. PR作成・マージ

```bash
git add Cargo.toml Cargo.lock
git commit -m "chore: v{VERSION}へバージョンアップ"
git push -u origin chore/v{VERSION}
gh pr create --title "chore: v{VERSION}へバージョンアップ" --assignee Hiro-Chiba
gh pr merge {PR番号} --merge --delete-branch
```

### 5. GitHubリリース作成

```bash
git checkout main && git pull origin main
gh release create v{VERSION} --title "v{VERSION}" --generate-notes
```

### 6. crates.ioへ公開

```bash
cargo publish
```

## 注意事項

- PRタイトルは必ずバージョン番号を含める(例: `chore: v1.2.1へバージョンアップ`- テスト失敗時はコミット前に修正
- crates.io公開には`CARGO_REGISTRY_TOKEN`が必要