---
name: Release Bridge
slug: release-bridge
category: DevOps
description: Release Bridge updates the Bridge Server version, changelog, and tag for publishing. Use it when preparing @ccpocket/bridge for a release and syncing the mobile app version check.
github: "https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/release-bridge"
language: Dart
stars: 1039
forks: 97
install: "npx degit https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/release-bridge ~/.claude/skills/release-bridge"
installs_to: ~/.claude/skills/release-bridge
source_path: .claude/skills/release-bridge/SKILL.md
collection_size: 18
category_size: 798
collection_url: "https://dirskills.com/collections/K9i-0/ccpocket"
added: 2026-08-21T05:14:05.976Z
last_synced: 2026-08-21T05:14:05.976Z
canonical_url: "https://dirskills.com/skills/release-bridge"
---

# Release Bridge

Release Bridge updates the Bridge Server version, changelog, and tag for publishing. Use it when preparing @ccpocket/bridge for a release and syncing the mobile app version check.

**Install:**

```bash
npx degit https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/release-bridge ~/.claude/skills/release-bridge
```

## README

# Bridge Server リリース

Bridge Server (`@ccpocket/bridge`) のリリースを行う。
タグ push 後は GH Actions が自動で npm publish + GitHub Release を作成する。

## 前提

- main ブランチで作業中であること
- 未コミットの変更がないこと

## 手順

### 1. 現在のバージョン確認 & 変更内容の収集

```bash
grep '"version"' packages/bridge/package.json
```

前回リリースのタグからの差分を確認する:

```bash
# 前回のタグ
git tag -l 'bridge/v*' --sort=-v:refname | head -1

# 差分コミット
git log $(git tag -l 'bridge/v*' --sort=-v:refname | head -1)..HEAD --oneline -- packages/bridge/
```

### 2. バージョンをユーザーに確認

差分コミットの内容を分析し、AskUserQuestion でバージョンを確認する。

選択肢の決定ルール:
- `feat` コミットがある → `minor` を推奨（1番目の選択肢にし Recommended を付ける）
- `feat` がなく `fix` のみ → `patch` を推奨
- 破壊的変更（! 付きや BREAKING CHANGE）がある → `major` を推奨

選択肢は具体的なバージョン番号で提示する（例: 1.2.0 minor、1.1.1 patch）。

### 3. CHANGELOG 更新

`packages/bridge/CHANGELOG.md` の先頭に新しいセクションを追加する。

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

### Added
- ...

### Changed
- ...

### Fixed
- ...
```

ステップ 1 で確認したコミットを元に、Added / Changed / Fixed に分類する。
空のセクション（該当なし）は省略する。

### 4. バージョン bump

`packages/bridge/package.json` の `version` をステップ 2 で決定したバージョンに更新する。

### 4.5. Flutter 側の expectedBridgeVersion を同期

`apps/mobile/lib/constants/app_constants.dart` の `expectedBridgeVersion` を
ステップ 4 で設定した新バージョンに合わせて更新する。

```dart
static const String expectedBridgeVersion = 'X.Y.Z';  // ← 新バージョンに変更
```

これにより、アプリが古い Bridge に接続した際に更新バナーが正しく表示される。
忘れるとアプリ側のバージョンチェックがずれたまま残る。

### 5. ローカル検証

タグ push 前に、CD と同じチェックをローカルで実行する。
**すべて pass しなければ次のステップに進まない。**

```bash
# テスト
npm run test:bridge

# 型チェック
npx tsc --noEmit -p packages/bridge/tsconfig.json

# ビルド
npm run bridge:build
```

失敗した場合はユーザーに報告し、修正を待つ。

### 6. コミット & タグ

```bash
git add packages/bridge/package.json packages/bridge/CHANGELOG.md apps/mobile/lib/constants/app_constants.dart
git commit -m "chore(bridge): release vX.Y.Z"
git push origin main
git tag bridge/vX.Y.Z
git push origin bridge/vX.Y.Z
```

### 7. 完了確認

タグ push 後、GH Actions (`bridge-release.yml`) が自動実行される:
- テスト + 型チェック + ビルド
- npm publish（OIDC Trusted Publishing）
- GitHub Release 作成（CHANGELOG から自動抽出）

```bash
gh run list --workflow=bridge-release.yml --limit 1
```

成功を確認したら完了。
