MCP HubMCP Hub
스킬 목록으로 돌아가기

release-package-version

pjt222
업데이트됨 Yesterday
2 조회
17
2
17
GitHub에서 보기
기타general

정보

이 스킬은 R 패키지의 완전한 릴리스 주기를 자동화하여 버전 업데이트, NEWS.md 갱신, git 태깅, GitHub 릴리스 생성을 처리합니다. 새로운 패치, 마이너 또는 메이저 릴리스를 준비할 때, CRAN 승인 후, 또는 다음 개발 버전을 설정할 때 사용됩니다. 이 도구는 버전 증가부터 릴리스 후 설정까지 전체 워크플로우를 관리합니다.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/release-package-version

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서


name: release-package-version description: > RパッケージのリリースサイクルをすべてとおしてI実行する。バージョンバンプ、 NEWS.mdの更新、gitタグ付け、GitHubリリースの作成、リリース後の開発バージョン設定を含む。 パッケージが新しいパッチ、マイナー、またはメジャーリリースの準備完了時、 CRANへの承認後に対応するGitHubリリースを作成する時、またはリリース直後に 開発バージョンバンプを設定する時に使用する。 locale: ja source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: r-packages complexity: intermediate language: R tags: r, versioning, release, git-tags, changelog

パッケージバージョンのリリース

Rパッケージの完全なバージョンリリースサイクルを実行する。

使用タイミング

  • 新しいバージョンをリリースする準備ができた時(バグ修正、機能追加、または破壊的変更)
  • CRANへの承認後に対応するGitHubリリースを作成する時
  • リリース後の開発バージョンを設定する時

入力

  • 必須: リリース準備が完了した変更を持つパッケージ
  • 必須: リリースタイプ:patch(0.1.0 -> 0.1.1)、minor(0.1.0 -> 0.2.0)、またはmajor(0.1.0 -> 1.0.0)
  • 任意: CRANに投稿するかどうか(デフォルト:いいえ、別途submit-to-cranスキルを使用)

手順

ステップ1: バージョンバンプの決定

セマンティックバージョニングに従う:

変更タイプバージョンバンプ
バグ修正のみPatch0.1.0 -> 0.1.1
新機能(後方互換)Minor0.1.0 -> 0.2.0
破壊的変更Major0.1.0 -> 1.0.0

期待結果: 最後のリリース以降の変更の性質に基づいて正しいバンプタイプ(patch、minor、またはmajor)が決定される。

失敗時: 不明な場合は最後のタグ以降のgit logを確認して各変更を分類する。API破壊的変更はメジャーバンプが必要。

ステップ2: バージョンの更新

usethis::use_version("minor")  # または"patch"または"major"

これによりDESCRIPTIONのVersionフィールドが更新され、NEWS.mdに見出しが追加される。

期待結果: DESCRIPTIONのバージョンが更新される。NEWS.mdにリリースバージョンの新しいセクション見出しが追加される。

失敗時: usethis::use_version()が利用できない場合、DESCRIPTIONのVersionフィールドを手動で更新し、NEWS.mdに# packagename x.y.z見出しを追加する。

ステップ3: NEWS.mdの更新

新しいバージョン見出しの下にリリースノートを記入する:

# packagename 0.2.0

## New Features
- Added `new_function()` for processing data (#42)
- Support for custom themes in `plot_results()` (#45)

## Bug Fixes
- Fixed crash when input contains all NAs (#38)
- Corrected off-by-one error in `window_calc()` (#41)

## Minor Improvements
- Improved error messages for invalid input types
- Updated documentation examples

トレーサビリティのためにイシュー/PR番号を使用する。

期待結果: NEWS.mdにカテゴリ別に整理されたユーザー向けの変更の完全なまとめが含まれ、トレーサビリティのためにイシュー/PR番号が付いている。

失敗時: 変更の再構築が困難な場合はgit log --oneline v<previous>..HEADを使用して最後のリリース以降のすべてのコミットをリストアップして分類する。

ステップ4: 最終チェック

devtools::check()
devtools::spell_check()
urlchecker::url_check()

期待結果: devtools::check()が0エラー、0警告、0ノートを返す。スペルチェックとURLチェックで問題が見つからない。

失敗時: リリース前にすべてのエラーと警告を修正する。スペルチェッカーの誤検知にはinst/WORDLISTに単語を追加する。壊れたURLを置き換える。

ステップ5: リリースのコミット

git add DESCRIPTION NEWS.md
git commit -m "Release packagename v0.2.0"

期待結果: DESCRIPTIONのバージョンバンプと更新されたNEWS.mdを含む単一のコミット。

失敗時: 他のコミットされていない変更が存在する場合は、DESCRIPTIONとNEWS.mdのみをステージングする。リリースコミットにはバージョン関連の変更のみを含めること。

ステップ6: リリースのタグ付け

git tag -a v0.2.0 -m "Release v0.2.0"
git push origin main --tags

期待結果: アノテーション付きタグv0.2.0が作成されてリモートにプッシュされる。git tag -lでローカルにタグが表示され、git ls-remote --tags originでリモートに確認できる。

失敗時: プッシュが失敗する場合は書き込みアクセスがあることを確認する。タグが既に存在する場合はgit show v0.2.0で正しいコミットを指しているか確認する。

ステップ7: GitHubリリースの作成

gh release create v0.2.0 \
  --title "packagename v0.2.0" \
  --notes-file NEWS.md

または以下を使用する:

usethis::use_github_release()

期待結果: リポジトリのReleasesページにリリースノートが表示されたGitHubリリースが作成される。

失敗時: gh release createが失敗する場合はgh auth statusでghCLIが認証されているか確認する。usethis::use_github_release()が失敗する場合はGitHubで手動でリリースを作成する。

ステップ8: 開発バージョンの設定

リリース後、開発バージョンにバンプする:

usethis::use_dev_version()

これにより開発中を示す0.2.0.9000にバージョンが変更される。

git add DESCRIPTION NEWS.md
git commit -m "Begin development for next version"
git push

期待結果: DESCRIPTIONのバージョンが0.2.0.9000(開発バージョン)になる。NEWS.mdに開発バージョンの新しい見出しが追加される。変更がリモートにプッシュされる。

失敗時: usethis::use_dev_version()が利用できない場合、DESCRIPTIONのバージョンを手動でx.y.z.9000に変更し、NEWS.mdに# packagename (development version)見出しを追加する。

バリデーション

  • DESCRIPTIONのバージョンが意図したリリースと一致する
  • NEWS.mdに完全で正確なリリースノートがある
  • R CMD checkがパスする
  • gitタグがバージョンと一致する(例:v0.2.0
  • GitHubリリースがリリースノートとともに存在する
  • リリース後の開発バージョンが設定されている(x.y.z.9000)

よくある落とし穴

  • タグのプッシュ忘れ: git pushだけではタグはプッシュされない。--tagsを使用するかgit push origin v0.2.0を使用する
  • NEWS.md形式: pkgdown/CRANが期待するMarkdown見出し形式を使用する
  • 間違ったコミットへのタグ付け: 常にバージョンバンプコミットの後にタグを付ける
  • CRANに既に存在するバージョン: CRANは既に公開されているバージョンを受け付けない。常にインクリメントする
  • リリースに開発バージョンを含める: CRANに.9000バージョンを決して投稿しないこと

関連スキル

  • submit-to-cran - バージョンリリース後のCRAN投稿
  • create-github-release - 一般的なGitHubリリースの作成
  • setup-github-actions-ci - リリース時にpkgdownの再ビルドをトリガーする
  • build-pkgdown-site - ドキュメントサイトが新しいバージョンを反映する

GitHub 저장소

pjt222/agent-almanac
경로: i18n/ja/skills/release-package-version
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

llamaguard

기타

LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.

스킬 보기

cost-optimization

기타

이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.

스킬 보기

quantizing-models-bitsandbytes

기타

이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.

스킬 보기

dispatching-parallel-agents

기타

이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.

스킬 보기