submit-to-cran
О программе
Этот навык предоставляет полный рабочий процесс для отправки R-пакетов в CRAN, охватывая первичные выпуски, обновления и повторные отправки. Он автоматизирует предварительные проверки, включая локальную валидацию, тестирование через win-builder и R-hub, а также подготовку необходимой документации, такой как cran-comments.md. Разработчикам следует использовать его, когда их пакет проходит локальную проверку R CMD check и готов к официальной отправке или рецензированию в CRAN.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/submit-to-cranСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
投 CRAN
行全 CRAN 投流——自前察至投。
用
- 包備首投 CRAN→用
- 投既存 CRAN 包之更版→用
- 受 CRAN 審反饋後重投→用
入
- 必:本地
R CMD check0 誤 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 репозиторий
Похожие навыки
content-collections
МетаЭтот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
polymarket
МетаЭтот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
creating-opencode-plugins
МетаЭтот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
sglang
МетаSGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
