release-package-version
О программе
Этот навык автоматизирует полный цикл выпуска R-пакетов, обрабатывая обновления версий, изменения в NEWS.md, создание git-тегов и релизов на GitHub. Он используется, когда пакет готов к патчу, минорному или мажорному релизу, либо после принятия в 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/release-package-versionСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
發包版
行 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別行)
行
一:定版升
循語義版:
| Change Type | Version Bump | Example |
|---|---|---|
| Bug fixes only | Patch | 0.1.0 -> 0.1.1 |
| New features (backward compatible) | Minor | 0.1.0 -> 0.2.0 |
| Breaking changes | Major | 0.1.0 -> 1.0.0 |
得:升類(patch、minor、major)按末發以來變定。
敗:未定→察 git log 自末標、各變分。任破 API 變需 major。
二:更版
usethis::use_version("minor") # or "patch" or "major"
此更 DESCRIPTION Version 並加標於 NEWS.md。
得:DESCRIPTION 版已更。NEWS.md 有新發版段標。
敗:usethis::use_version() 不可用→手更 DESCRIPTION Version、加 # packagename x.y.z 標於 NEWS.md。
三:更 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 列末發來諸提交、分類之。
四:終察
devtools::check()
devtools::spell_check()
urlchecker::url_check()
得:devtools::check() 返 0 錯、0 警、0 注。拼察與 URL 察無患。
敗:發前修諸錯與警。加假陽詞於 inst/WORDLIST 為拼察。代斷 URL。
五:提交發
git add DESCRIPTION NEWS.md
git commit -m "Release packagename v0.2.0"
得:一提交含 DESCRIPTION 版升與 NEWS.md 更。
敗:他未提交變存→唯擇 DESCRIPTION 與 NEWS.md。發提交應唯含版相關變。
六:標發
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。
七:建 GitHub 發
gh release create v0.2.0 \
--title "packagename v0.2.0" \
--notes-file NEWS.md
或用:
usethis::use_github_release()
得:GitHub 發已建、發注見於庫 Releases 頁。
敗:gh release create 敗→確 gh CLI 已認(gh auth status)。usethis::use_github_release() 敗→於 GitHub 手建發。
八:設開版
發後升開版:
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() 不可用→手變版為 x.y.z.9000 於 DESCRIPTION、加 # packagename (development version) 標於 NEWS.md。
驗
- 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 格:用 markdown 標合 pkgdown/CRAN 期格
- 標誤提交:常於版升提交後標、非前
- CRAN 版已存:CRAN 不受已發版。常升
- 發中含開版:永勿投
.9000版至 CRAN
參
submit-to-cran- 版發後投 CRANcreate-github-release- 通 GitHub 發建setup-github-actions-ci- 觸 pkgdown 重建於發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, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
