NPM パッケージ公開ガイド
概要
Miyabi CLI パッケージを npm レジストリに公開する手順を説明します。バージョニング、テスト、公開、アナウンスまでの完全なワークフローを学びます。
対象読者
- パッケージメンテナー
- リリースマネージャー
- コアコントリビューター
所要時間
- 読了時間: 15 分
- 実行時間: 20-30 分(初回)
前提知識
- npm の基礎知識
- セマンティックバージョニングの理解
- Git タグの知識
- GitHub Releases の基本
事前準備
必須要件
# npm アカウント
# https://www.npmjs.com/signup で作成
# npm 認証
npm login
# Username:
# Password:
# Email: (this IS public)
# 認証確認
npm whoami
# → あなたのユーザー名が表示される
# パッケージビルド
cd packages/cli
npm run build
# dist/ ディレクトリの確認
ls -la dist/
# → index.js, index.d.ts, package.json などが存在
公開前チェックリスト
1. package.json の確認
{
"name": "miyabi",
"version": "2.0.0",
"description": "AI-powered autonomous development environment",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"bin": {
"miyabi": "dist/cli.js"
},
"files": [
"dist",
"README.md",
"LICENSE"
],
"keywords": [
"ai",
"agents",
"automation",
"github",
"devops",
"cli"
],
"author": "Miyabi Team",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ShunsukeHayashi/miyabi_doc.git"
},
"bugs": {
"url": "https://github.com/ShunsukeHayashi/miyabi_doc/issues"
},
"homepage": "https://github.com/ShunsukeHayashi/miyabi_doc#readme"
}
2. ビルドとテスト
cd packages/cli
# 依存関係のインストール
npm ci
# ビルド
npm run build
# TypeScript チェック
npm run typecheck
# Lint
npm run lint
# テスト実行
npm test
# すべて成功を確認
3. 公開ファイルの確認
# 公開されるファイルを確認(ドライラン)
npm pack --dry-run
# 出力例:
# npm notice 📦 miyabi@2.0.0
# npm notice === Tarball Contents ===
# npm notice 1.2kB package.json
# npm notice 5.4kB README.md
# npm notice 1.1kB LICENSE
# npm notice 150kB dist/index.js
# npm notice 3.2kB dist/index.d.ts
# npm notice === Tarball Details ===
# npm notice name: miyabi
# npm notice version: 2.0.0
# npm notice filename: miyabi-2.0.0.tgz
# npm notice package size: 45.2 kB
# npm notice unpacked size: 160.9 kB
# npm notice total files: 5
4. ローカルテスト
# グローバルリンク
npm link
# 動作確認
miyabi --help
miyabi --version
# テストプロジェクトで試す
cd /tmp
miyabi init test-project
cd test-project
npm install
# リンク解除
npm unlink -g miyabi
公開手順
ステップ 1: バージョニング
cd packages/cli
# パッチバージョン: 2.0.0 → 2.0.1
npm version patch
# マイナーバージョン: 2.0.1 → 2.1.0
npm version minor
# メジャーバージョン: 2.1.0 → 3.0.0
npm version major
# プレリリース: 2.0.0 → 2.0.0-beta.0
npm version prerelease --preid=beta
# カスタムバージョン
npm version 2.0.0
ステップ 2: 公開
# 初回公開(パブリックパッケージとして)
npm publish --access public
# 以降の公開
npm publish
# ベータ版の公開
npm publish --tag beta
# 成功メッセージ:
# npm notice
# npm notice 📦 miyabi@2.0.0
# npm notice === Tarball Details ===
# npm notice name: miyabi
# npm notice version: 2.0.0
# npm notice filename: miyabi-2.0.0.tgz
# npm notice package size: 45.2 kB
# npm notice unpacked size: 160.9 kB
# npm notice shasum: abc123...
# npm notice integrity: sha512-xyz...
# npm notice total files: 5
# npm notice
# + miyabi@2.0.0
ステップ 3: 公開確認
# npm レジストリで確認
open https://www.npmjs.com/package/miyabi
# インストールテスト
npx miyabi@latest --version
# または
npm install -g miyabi@latest
miyabi --version
GitHub Release の作成
Git タグの作成
# 現在のバージョンをタグ付け
git tag v2.0.0
# タグをプッシュ
git push origin v2.0.0
# または npm version 時に自動作成される
npm version patch --git-tag-version
GitHub Release の作成
# GitHub CLI で Release 作成
gh release create v2.0.0 \
--title "v2.0.0 - Feature Release" \
--notes "$(cat <<'EOF'
## 新機能
- ✨ 新しい Agent アーキテクチャ
- 🚀 並行実行の改善
- 📊 詳細なレポート機能
## 改善
- ⚡ パフォーマンス最適化
- 🐛 バグ修正
- 📚 ドキュメント更新
## インストール
\`\`\`bash
npx miyabi init my-project
\`\`\`
## 変更内容の詳細
- #123 Add new coordinator agent
- #124 Improve parallel execution
- #125 Add detailed reporting
## アップグレード方法
\`\`\`bash
npm install -g miyabi@latest
\`\`\`
---
🤖 Generated with Claude Code
EOF
)"
アナウンス
README バッジの更新
<!-- Root README.md に追加 -->
[](https://www.npmjs.com/package/miyabi)
[](https://www.npmjs.com/package/miyabi)
[](https://github.com/ShunsukeHayashi/miyabi_doc/blob/main/LICENSE)
[](https://github.com/ShunsukeHayashi/miyabi_doc)
Twitter/X でのアナウンス
🚀 Miyabi v2.0.0 がリリースされました!
✨ 新機能:
- 新しい Agent アーキテクチャ
- 並行実行の大幅改善
- 詳細なレポート機能
今すぐ試す:
npx miyabi init my-project
詳細: https://www.npmjs.com/package/miyabi
#AI #Agents #DevOps #GitHub #Automation
GitHub Discussions でのアナウンス
# 🎉 Miyabi v2.0.0 リリース
Miyabi v2.0.0 を公開しました!
## 主な新機能
### 1. 新しい Agent アーキテクチャ
- CoordinatorAgent の強化
- より効率的なタスク分解
- 改善された依存関係管理
### 2. 並行実行の改善
- 最大 5 倍の高速化
- スマートなロック管理
- デッドロック検出
### 3. 詳細なレポート
- JSON/HTML レポート
- 実行時間の可視化
- エラー分析
## インストール
\`\`\`bash
# 新規プロジェクト
npx miyabi init my-project
# 既存プロジェクト
npx miyabi install
# グローバルインストール
npm install -g miyabi@latest
\`\`\`
## アップグレード
\`\`\`bash
npm install -g miyabi@latest
\`\`\`
## フィードバック
バグ報告や機能要望は [Issues](https://github.com/ShunsukeHayashi/miyabi_doc/issues) までお願いします!
トラブルシューティング
エラー 1: パッケージ名が使用済み
症状:
npm ERR! 403 Forbidden - PUT https://registry.npmjs.org/miyabi
npm ERR! You do not have permission to publish "miyabi". Are you logged in as the correct user?
解決方法:
# パッケージ名を変更
# package.json の name を変更:
# "name": "@miyabi-team/miyabi"
# または
# "name": "miyabi-cli"
# npm login を確認
npm whoami
# 再度公開
npm publish --access public
エラー 2: 402 Payment Required
症状:
npm ERR! 402 Payment Required
解決方法:
# メール認証が必要
npm profile get
# "email verified" を確認
# 未確認の場合、npm から送られたメールで認証
# 認証後、再度公開
npm publish --access public
エラー 3: 403 Forbidden
症状:
npm ERR! 403 Forbidden
npm ERR! You must verify your email to publish packages
解決方法:
# 認証状態を確認
npm whoami
# ログアウト&再ログイン
npm logout
npm login
# メール認証を完了
# 再度公開
npm publish
エラー 4: バージョンが既に存在
症状:
npm ERR! 403 Forbidden - PUT https://registry.npmjs.org/miyabi
npm ERR! You cannot publish over the previously published versions: 2.0.0
解決方法:
# バージョンを更新
npm version patch # 2.0.0 → 2.0.1
# 再度公開
npm publish
バージョニング戦略
セマンティックバージョニング
versioning:
format: "MAJOR.MINOR.PATCH"
major:
increment_when: "破壊的変更"
examples:
- API の削除
- CLI コマンドの変更
- 設定フォーマットの変更
minor:
increment_when: "新機能追加(後方互換)"
examples:
- 新しい Agent の追加
- 新しい CLI コマンド
- 新しいオプション
patch:
increment_when: "バグ修正"
examples:
- バグ修正
- ドキュメント更新
- パフォーマンス改善
バージョン例
# 初回リリース
1.0.0 - Initial stable release
# パッチ(バグ修正)
1.0.1 - Fix authentication bug
1.0.2 - Fix CLI command error
# マイナー(機能追加)
1.1.0 - Add ReviewAgent
1.2.0 - Add deployment automation
# メジャー(破壊的変更)
2.0.0 - New Agent architecture (breaking changes)
3.0.0 - Complete CLI redesign
公開の取り消し
Unpublish(72時間以内のみ)
# 特定のバージョンを削除(72時間以内)
npm unpublish miyabi@2.0.0
# パッケージ全体を削除(危険!)
npm unpublish miyabi --force
⚠️ 警告: Unpublish は依存している他のプロジェクトを壊す可能性があります。
Deprecate(推奨)
# 特定のバージョンを非推奨に
npm deprecate miyabi@2.0.0 "Critical bugs. Please upgrade to 2.0.1"
# 範囲指定
npm deprecate miyabi@"< 2.0.0" "Old version. Please upgrade to latest"
# 非推奨を取り消し
npm deprecate miyabi@2.0.0 ""
自動化
GitHub Actions での自動公開
# .github/workflows/publish.yml
name: Publish to npm
on:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Test
run: npm test
- name: Publish
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
関連ドキュメント
参考リンク
次のステップ
最終更新: 2025-10-10 バージョン: 2.0.0 ソース: NPM_PUBLICATION.md メンテナー: Miyabi Release Team