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

submit-to-cran

pjt222
업데이트됨 5 days ago
8 조회
17
2
17
GitHub에서 보기
메타design

정보

이 스킬은 CRAN에 R 패키지를 제출하는 전체 워크플로를 제공하며, 초기 릴리스, 업데이트 및 재제출을 모두 포함합니다. 로컬 검증, win-builder, R-hub 테스트를 통한 사전 제출 검사를 자동화하고, cran-comments.md와 같은 필수 문서 준비 작업도 수행합니다. R 패키지가 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/submit-to-cran

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

문서

提交至 CRAN

執行完整 CRAN 提交流程,自起飛前檢查至提交。

適用時機

  • 套件已備好初次 CRAN 發布
  • 提交既有 CRAN 套件之更新版
  • 收 CRAN 審查者回饋後重新提交

輸入

  • 必要:通過本機 R CMD check 之 R 套件,0 錯誤、0 警告
  • 必要:DESCRIPTION 中之版本號已更新
  • 必要:NEWS.md 含此版本之變更
  • 選擇性:先前 CRAN 審查者意見(重新提交時)

步驟

步驟一:版本與 NEWS 檢查

驗 DESCRIPTION 含正確版本:

desc::desc_get_version()

驗 NEWS.md 有此版本之條目。條目應總結用戶可見之變更。

預期: 版本遵循語義化版本控制。NEWS.md 含此版本之對應條目。

失敗時:usethis::use_version() 更版本(擇「major」、「minor」或「patch」)。為 NEWS.md 加總結用戶可見變更之條目。

步驟二:本機 R CMD Check

devtools::check()

預期: 0 錯誤、0 警告、0 註記(新提交可接受 1 註記:「New submission」)。

失敗時: 進行前修復所有錯誤與警告。閱讀 <pkg>.Rcheck/00check.log 之檢查日誌以了解詳情。註記應於 cran-comments.md 中說明。

步驟三:拼字檢查

devtools::spell_check()

將合理之詞加入 inst/WORDLIST(一行一詞、字母序排)。

預期: 無意外拼字錯。所有標出之詞已修正或加入 inst/WORDLIST

失敗時: 修真正之拼字錯。對合理之技術術語,加入 inst/WORDLIST(一行一詞、字母序排)。

步驟四:URL 檢查

urlchecker::url_check()

預期: 所有 URL 回 HTTP 200。無損壞或重定向之連結。

失敗時: 替換損壞 URL。對 DOI 連結用 \doi{} 而非生 URL。移除已不存在之資源連結。

步驟五:Win-Builder 檢查

devtools::check_win_devel()
devtools::check_win_release()

待郵件結果(通常 15-30 分鐘)。

預期: Win-builder release 與 devel 上 0 錯誤、0 警告。結果於 15-30 分鐘內以郵件抵達。

失敗時: 處理平台特有問題。常見因:不同編譯器警告、缺系統依賴、路徑分隔符差異。本機修復並重提至 Win-builder。

步驟六:R-hub 檢查

rhub::rhub_check()

此於多平台檢查(Ubuntu、Windows、macOS)。

預期: 所有平台以 0 錯誤、0 警告通過。

失敗時: 若某平台失敗,檢 R-hub 建置日誌找平台特有錯。對平台依賴行為用 testthat::skip_on_os() 或條件碼。

步驟七:準備 cran-comments.md

於套件根建立或更新 cran-comments.md

## R CMD check results
0 errors | 0 warnings | 1 note

* This is a new release.

## Test environments
* local: Windows 11, R 4.5.0
* win-builder: R-release, R-devel
* R-hub: ubuntu-latest (R-release), windows-latest (R-release), macos-latest (R-release)

## Downstream dependencies
There are currently no downstream dependencies for this package.

對更新,含:

  • 變更為何(簡述)
  • 對任何先前審查者回饋之回應
  • 反向依賴檢查結果(如適用)

預期: cran-comments.md 準確總結跨所有測試環境之檢查結果並說明任何註記。

失敗時: 若檢查結果於平台間差,記錄所有差異。CRAN 審查者將以其自身測試核驗此等聲明。

步驟八:最終起飛前

# One last check
devtools::check()

# Verify the built tarball
devtools::build()

預期: 最終 devtools::check() 乾淨通過。.tar.gz tarball 於父目錄建成。

失敗時: 若末刻問題現,修之並自步驟二重跑所有檢查。勿以已知失敗提交。

步驟九:提交

devtools::release()

此跑互動式檢查並提交。誠實答所有問題。

或於 https://cran.r-project.org/submit.html 手動上傳 tarball 提交。

預期: CRAN 之確認郵件數分鐘內抵。點確認連結以完成提交。

失敗時: 檢郵件以求拒因。常見問題:例執行過慢、缺 \value 標籤、不可移植之代碼。修問題並重提,於 cran-comments.md 中註明變更。

步驟十:提交後

接受後:

# Tag the release
usethis::use_github_release()

# Bump to development version
usethis::use_dev_version()

預期: GitHub 發布以接受版本之標籤建立。DESCRIPTION 升至開發版本(x.y.z.9000)。

失敗時: 若 GitHub 發布失敗,以 gh release create 手動建立。若 CRAN 接受延遲,待確認郵件再標籤。

驗證

  • 本機 R CMD check 回 0 錯誤、0 警告
  • Win-builder 通過(release + devel)
  • R-hub 於所有測試平台通過
  • cran-comments.md 準確描述檢查結果
  • 所有 URL 有效
  • 無拼字錯
  • 版本號正確且已遞增
  • NEWS.md 已更新
  • DESCRIPTION 元資料完整且正確

常見陷阱

  • 例執行過慢:將昂貴之例包入 \donttest{}。CRAN 強制時間限制。
  • 非標準檔/目錄名:避免會觸發 CRAN 註記之檔(檢 .Rbuildignore
  • 文件缺 \value:所有匯出函式需 @return 標籤
  • vignette 建置失敗:確保 vignettes 於無你 .Renviron 之乾淨環境中建置
  • DESCRIPTION Title 格式:須為 Title Case、結尾無句點、無「A Package for...」
  • 遺忘反向依賴檢查:對更新,跑 revdepcheck::revdep_check()

範例

# Full pre-submission workflow
devtools::spell_check()
urlchecker::url_check()
devtools::check()
devtools::check_win_devel()
rhub::rhub_check()
# Wait for results...
devtools::release()

相關技能

  • release-package-version — 版本升級與 git 標籤
  • write-roxygen-docs — 確保文件符合 CRAN 標準
  • setup-github-actions-ci — 鏡像 CRAN 期望之 CI 檢查
  • build-pkgdown-site — 已接受套件之文件站

GitHub 저장소

pjt222/agent-almanac
경로: i18n/wenyan-lite/skills/submit-to-cran
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

content-collections

메타

이 스킬은 콘텐츠 콜렉션(Content Collections)을 위한 프로덕션 검증된 설정을 제공합니다. 콘텐츠 콜렉션은 Markdown/MDX 파일을 Zod 검증이 포함된 타입 안전한 데이터 콜렉션으로 변환해주는 TypeScript 최우선 도구입니다. 블로그, 문서 사이트 또는 콘텐츠 중심의 Vite + React 애플리케이션을 구축할 때 타입 안전성과 자동 콘텐츠 검증을 보장하기 위해 사용하세요. Vite 플러그인 구성과 MDX 컴파일부터 배포 최적화 및 스키마 검증에 이르기까지 모든 것을 다룹니다.

스킬 보기

polymarket

메타

이 스킬은 개발자들이 Polymarket 예측 시장 플랫폼을 활용한 애플리케이션을 구축할 수 있도록 지원하며, 거래 및 시장 데이터를 위한 API 통합 기능을 포함합니다. 또한 WebSocket을 통한 실시간 데이터 스트리밍을 제공하여 실시간 거래와 시장 활동을 모니터링할 수 있습니다. 이를 통해 거래 전략을 구현하거나 실시간 시장 업데이트를 처리하는 도구를 생성하는 데 활용할 수 있습니다.

스킬 보기

creating-opencode-plugins

메타

이 스킬은 개발자들이 명령어, 파일, LSP 작업 등 25개 이상의 이벤트 유형에 연결되는 OpenCode 플러그인을 만들 수 있도록 돕습니다. JavaScript/TypeScript 모듈을 위한 플러그인 구조, 이벤트 API 명세, 구현 패턴을 제공합니다. OpenCode AI 어시스턴트의 라이프사이클을 사용자 정의 이벤트 기반 로직으로 가로채거나, 모니터링하거나, 확장해야 할 때 사용하세요.

스킬 보기

sglang

메타

SGLang은 RadixAttention 프리픽스 캐싱을 활용하여 JSON, 정규식, 에이전트 워크플로우를 위한 고속 구조화 생성에 특화된 고성능 LLM 서빙 프레임워크입니다. 특히 반복되는 프리픽스가 있는 작업에서 상당히 빠른 추론 속도를 제공하여 복잡한 구조화 출력 및 다중 턴 대화에 이상적입니다. 제약 디코딩이 필요하거나 광범위한 프리픽스 공유가 있는 애플리케이션을 구축할 때는 vLLM과 같은 대안보다 SGLang을 선택하십시오.

스킬 보기