autoship について
autoshipは、設定したリポジトリのソフトウェアリリースを自動化するコマンドラインスキルです。AIで変更を分析してchangesetの説明を作成し、プルリクエスト、バージョン更新、npm公開を進めます。
主な機能
- 01リポジトリの設定と一覧表示
- 02コミットと差分の分析
- 03AIによるリリース種別の提案
- 04changeset説明の生成
- 05リリース用プルリクエストの作成とマージ
- 06npm公開の起動
活用シーン
- 01対話形式でのリリース実行
- 02CIでのパッチリリース自動化
- 03バージョンPR後のnpmパッケージ公開
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vercel-labs/ autoship --skill autoshipインストール後、Claude Code で/autoshipを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/ci-integration.mdcommands.mdconfiguration.mdtemplates/automated-release.shsetup-repo.sh詳細
autoship によるリリースの自動化
基本的なワークフロー
すべてのリリースは、次の手順で行います。
- 設定:
autoship add <name>(初回のみ) - リリース:
autoship <name>(対話形式)、またはautoship <name> -t patch -y(自動)
このツールは、リリースの全工程を処理します。
- リポジトリをクローンする
- 変更を分析し、リリースの種類(patch/minor/major)を提案する
- AI を活用して変更内容の説明を生成する
- 変更セットの PR を作成してマージする
- Version Packages PR を待機してマージする
- npm publish を実行する
要件
autoship を使用する前に、以下を確認してください。
# GitHub CLI must be authenticated
gh auth login
# API key for AI features
export AI_GATEWAY_API_KEY="your-key"
基本コマンド
# One-time setup: add a repository
autoship add myproject
# Prompts for: owner, repo name, base branch
# List configured repositories
autoship list
# Interactive release (prompts for type and message)
autoship myproject
# Automated release (no prompts)
autoship myproject -t patch -y
autoship myproject -t minor -y
autoship myproject -t major -y
# Release with custom message (skips AI generation)
autoship myproject -t patch -m "Fixed login bug" -y
コマンドのオプション
autoship [repo] # Interactive repo selection if omitted
-t, --type <type> # Release type: patch, minor, major
-m, --message <message> # Custom changeset description
-y, --yes # Skip all confirmations
-h, --help # Show help
よく使うパターン
パッチリリースを完全に自動化する
autoship myproject -t patch -y
AI の支援による対話形式のリリース
autoship myproject
# 1. AI analyzes commits since last release
# 2. AI suggests release type (patch/minor/major)
# 3. You confirm or change the type
# 4. AI generates changeset description
# 5. You review and approve
# 6. Tool handles PR creation and merging
カスタムメッセージでリリースする
autoship myproject -t minor -m "Added new authentication providers" -y
CI/CD との統合
# In GitHub Actions or CI pipeline
export AI_GATEWAY_API_KEY="${{ secrets.AI_GATEWAY_API_KEY }}"
npx autoship myproject -t patch -y
autoship の処理内容(10 ステップ)
- クローン - ベースブランチからリポジトリをクローンします
- 分析 - 最新のバージョンタグを見つけ、コミットと差分を分析します
- 提案 - 変更内容に基づいて、AI がリリースの種類を提案します
- 生成 - AI が変更セットの説明を生成します
- ブランチ - 変更セットファイルを含むリリースブランチを作成します
- PR - 変更セットのプルリクエストを作成します
- 待機 - CI チェックの合格を待ちます
- マージ - 変更セットの PR をマージします
- Version PR - changesets アクションによる Version Packages PR の作成を待ちます
- 公開 - Version Packages PR をマージして npm publish を実行します
出力形式
autoship は、各手順を明確に示す出力を提供します。
[1/10] Cloning repository from main...
> Repository cloned
> Package: my-package @ 1.2.3
[2/10] Creating release branch...
> Branch created: release/patch-1706123456789
[3/10] Generating changeset...
> Changeset created: fluffy-pants-dance.md
...
Release Complete!
The patch release has been published.
設定
設定は ~/.autoship/config.json に保存されます。
{
"repos": {
"myproject": {
"owner": "vercel-labs",
"repo": "myproject",
"baseBranch": "main",
"cloneUrl": "https://github.com/vercel-labs/myproject.git"
}
}
}
詳細ドキュメント
| リファレンス | 使用する場面 |
|---|---|
| references/commands.md | すべてのオプションを含むコマンドの完全なリファレンス |
| references/configuration.md | 設定ファイルの形式とリポジトリのセットアップ |
| references/ci-integration.md | GitHub Actions と CI/CD のセットアップ |
すぐに使えるテンプレート
| テンプレート | 説明 |
|---|---|
| templates/automated-release.sh | リリースを完全に自動化するスクリプト |
| templates/setup-repo.sh | 対話なしでリポジトリをセットアップするスクリプト |
./templates/automated-release.sh myproject patch
./templates/setup-repo.sh myproject vercel-labs myproject main
トラブルシューティング
「No repositories configured」
先に autoship add <name> を実行して、リポジトリを設定してください。
「Repository not found」
利用可能なリポジトリを autoship list で確認してください。名前では大文字と小文字が区別されます。
CI チェックに失敗する
このツールは、失敗したチェックを表示します。対象のリポジトリで問題を修正してから、再試行してください。
AI による生成に失敗する
AI による生成に失敗した場合、autoship は手動入力に切り替えます。AI_GATEWAY_API_KEY が設定されていることを確認してください。
コメント
Markdown 対応