返回技能列表

submit-to-cran

pjt222
更新于 6 days ago
16 次查看
17
2
17
在 GitHub 上查看
design

关于

This skill provides a complete workflow for submitting R packages to CRAN, covering initial releases, updates, and resubmissions. It automates pre-submission checks including local validation, win-builder, and R-hub testing, along with preparing required documentation like cran-comments.md. Developers should use it when their package passes local R CMD check and is ready for official CRAN submission or review.

快速安装

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 0 誤 0 警之 R 包
  • :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 構於父目。

敗:末刻問現→正之、自步二再行諸察。勿以知敗投。

九:投

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 構敗:確 vignette 於清境構而無 .Renviron
  • DESCRIPTION 題式:必 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 - CI 察反 CRAN 期
  • build-pkgdown-site - 受包文站

GitHub 仓库

pjt222/agent-almanac
路径: i18n/wenyan-ultra/skills/submit-to-cran
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能

polymarket

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能

creating-opencode-plugins

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能

sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能