원클릭으로
npm-publish
npm パッケージのリリース(dev→main マージ、バージョニング、tag push、publish workflow 監視、publish 結果検証、dev への同期)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
npm パッケージのリリース(dev→main マージ、バージョニング、tag push、publish workflow 監視、publish 結果検証、dev への同期)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Git 操作ルール(コミット作成、メッセージ形式、事前チェック)
ユーザーの計画・考えを徹底的に grill し、共通認識を構築するスキル
プルリクエストの作成とプッシュ(プリフライトチェック、base 追従、コンフリクト検知含む)
プロダクトマネージャー(PdM)の視点でリポジトリの分析、レビュー、ドキュメント生成を行うスキル。 言語・フレームワーク非依存 — あらゆるリポジトリに対応。 リポジトリ構造の把握、コードの読解・ナビゲーション、依存関係の分析、READMEやドキュメントの生成・レビュー、 技術スタックの要約、新機能の運用影響の評価、PRレビューなどに使用。 「このリポジトリは何をしている?」「READMEを書いて」「この変更をレビューして」 「メンテナブルか?」「このPRどう思う?」といったリクエストに対応。 リポジトリの分析、レビュー、ドキュメントに関するタスクにはこのスキルを迷わず使用すること。
テストファースト・リファクタリングワークフロー
Drive a BurgerEditor v4 project (page/block edits, front matter, style options) via @burger-editor/cli or @burger-editor/mcp-server. Use whenever the workspace has burgereditor.config.{js,mjs,ts,cjs,json} and @burger-editor/* dependencies.
| name | npm-publish |
| description | npm パッケージのリリース(dev→main マージ、バージョニング、tag push、publish workflow 監視、publish 結果検証、dev への同期) |
| when_to_use | ユーザーが「リリースして」「publish して」「バージョン上げて」「/npm-publish」と指示した場合 |
| disable-model-invocation | true |
main ブランチから行う。dev の変更を main にマージしてから実行するv* タグ push で publish.yml が発火し、npm へ自動 publish される(OIDC Trusted Publishing)yarn release / git push 系はユーザーが実行する。エージェントは実行せず(.claude/settings.json で deny されている)! プレフィックス付きのコマンドを提示し、完了報告を待つLerna fixed モードのため、全パッケージが同一バージョンで上がる。
| ディレクトリ | npm パッケージ名 |
|---|---|
packages/@burger-editor/blocks | @burger-editor/blocks |
packages/@burger-editor/cli | @burger-editor/cli |
packages/@burger-editor/client | @burger-editor/client |
packages/@burger-editor/core | @burger-editor/core |
packages/@burger-editor/css | @burger-editor/css |
packages/@burger-editor/custom-element | @burger-editor/custom-element |
packages/@burger-editor/file-io | @burger-editor/file-io |
packages/@burger-editor/frozen-patty | @burger-editor/frozen-patty |
packages/@burger-editor/inspector | @burger-editor/inspector |
packages/@burger-editor/legacy | @burger-editor/legacy |
packages/@burger-editor/local | @burger-editor/local |
packages/@burger-editor/mcp-server | @burger-editor/mcp-server |
packages/@burger-editor/migrator | @burger-editor/migrator |
packages/@burger-editor/runtime | @burger-editor/runtime |
packages/@burger-editor/utils | @burger-editor/utils |
git status で未コミットの変更・未追跡ファイルがないか確認する。
git stash / コミット / 中断のいずれかを尋ねる。指示に従ってから次へ汚れたまま先に進むとマージ・バージョニングが意図しない差分を巻き込むため、ここは省略しない。
git fetch origin
git checkout main
git pull origin main
git checkout dev
git pull origin dev
git checkout main
両ブランチをローカルで最新にしてから main に戻る。dev を最新にしておくのは、手順 11 の main → dev 同期でそのまま使うため。
いずれかの pull が失敗したらユーザーに報告して指示を仰ぐ。
リリースに含めるべき PR が残っていないか確認し、あればユーザーに提示して続行可否を尋ねる。
gh pr list --base dev --state open
dev が main より進んでいる場合、差分コミットをユーザーに提示してからマージする。
git log --oneline main..dev
git merge dev --no-edit
コンフリクトが発生したらユーザーに報告して指示を仰ぐ。
yarn install
git diff yarn.lock
差分が出たらユーザーに報告し、コミットしてから次へ。CI の yarn install --immutable が失敗するのを防ぐため必須。
yarn lint
yarn build
yarn test
すべてパスすること。yarn test は Docker 経由で VR まで走るため時間がかかるが省略しない。main の CI が green かも併せて確認する。
gh run list --branch main --limit 5
現在のバージョンと前回タグからの差分をユーザーに提示し、リリース種別(graduate / alpha / beta / rc)の判断材料にする。
git describe --tags --abbrev=0
git log --oneline $(git describe --tags --abbrev=0)..HEAD
fixed モードなので lerna.json の version が現行バージョンの正。
lerna version はインタラクティブなため Claude からは実行できない。リリース種別を確認したうえで、! プレフィックス付きでユーザーに実行を依頼し、完了報告を待つ。
! yarn release # graduate(正式リリース)
! yarn release:alpha # alpha プレリリース
! yarn release:beta # beta プレリリース
! yarn release:rc # RC プレリリース
リリーススクリプトは --no-push なので、コミットとタグの push が別途必要。
! git push origin main --follow-tags
ユーザーから完了報告を受けたら、実際にタグが push されたことを確認してから次へ進む。
git ls-remote --tags origin
v* タグ push で publish.yml が発火する。バックグラウンド実行で完了を待つ。
gh run watch --exit-status
失敗したらログ URL をユーザーに提示し、「12. 失敗時の対処」へ。
workflow が success でも publish が意図通りとは限らない。全パッケージについて実際の npm 上の状態を確認する。
npm view @burger-editor/core version
npm view @burger-editor/core dist-tags
確認項目:
latest、プレリリースは alpha / beta / rc / next。publish.yml は lerna.json の version 文字列から判定する(-alpha → alpha、- を含む → next、それ以外 → latest)npm view <package> --json の dist.attestations)fixed モードでも**一部のパッケージだけ publish される(部分 publish)**ことがある。全15パッケージを個別に確認し、漏れがあればユーザーに報告する。
ここが success の判定点。npm 上の状態を確認するまでリリース完了と判断してはいけない。
publish の成功を確認した後、バージョン更新コミットを dev に取り込む。
git checkout dev
git merge main --no-edit
コンフリクトが発生したらユーザーに報告して指示を仰ぐ。マージできたら push をユーザーに依頼する。
! git push origin dev
dev はブランチ保護がかかっており、maintain ロールでは直接 push できない場合がある。push が拒否されたら PR 経由に切り替える(git checkout -b chore/sync-main してから /pr の手順へ)。
gh run rerun で再実行する。from-package は未 publish のバージョンのみを対象にするため、成功済みパッケージは二重 publish されないworkflow_dispatch で publish workflow を再実行すれば、未 publish のパッケージのみが対象になるnpm deprecate <package>@<version> "<理由>" で非推奨化し、修正版を新バージョンとして publish する。この判断は必ずユーザーに確認を取るdev 同期は行わない。main にバージョン更新コミットだけが残るため、次回リリース時にそこから再開するv* タグの作成・削除は CODEOWNERS のみ(GitHub Rulesets で保護)。権限がない場合は手順 8 で失敗するため、実行者がタグ権限者か事前に確認するyarn release は prerelease スクリプト経由で yarn build; yarn test を再度走らせる。手順 6 と重複するが、lerna version の途中で失敗するより事前に落としたほうが安全なので省略しない