MCP HubMCP Hub
Retour aux compétences

release-package-version

pjt222
Mis à jour 2 days ago
5 vues
17
2
17
Voir sur GitHub
Autregeneral

À propos

Cette compétence automatise le cycle complet de publication des packages R, en gérant les mises à jour de version, les modifications du NEWS.md, le marquage git et les publications sur GitHub. Elle est conçue pour publier des versions correctives, mineures ou majeures et peut créer une publication GitHub correspondante après l'acceptation par le CRAN. Le processus configure également l'incrément de la version de développement suivante après la publication.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add pjt222/agent-almanac -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternatif
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/release-package-version

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

Release Package Version

Execute full ver release cycle for R pkg.

Use When

  • Ready to release new ver (bug fix, feature, breaking)
  • After CRAN accept → matching GH release
  • Set up post-release dev ver

In

  • Required: Pkg w/ changes ready
  • Required: Release type: patch (0.1.0 → 0.1.1), minor (0.1.0 → 0.2.0), major (0.1.0 → 1.0.0)
  • Optional: Submit to CRAN? (default no, use submit-to-cran separate)

Do

Step 1: Determine Bump

Follow semantic versioning:

Change TypeVersion BumpExample
Bug fixes onlyPatch0.1.0 -> 0.1.1
New features (backward compatible)Minor0.1.0 -> 0.2.0
Breaking changesMajor0.1.0 -> 1.0.0

→ Correct bump (patch/minor/major) determined by changes since last release.

If err: unsure → review git log since last tag + classify each change. Any breaking API → major.

Step 2: Update Ver

usethis::use_version("minor")  # or "patch" or "major"

Updates Version in DESCRIPTION + adds heading to NEWS.md.

→ DESCRIPTION ver updated. NEWS.md has new section header for release ver.

If err: usethis::use_version() not available → manual update Version in DESCRIPTION + add # packagename x.y.z heading to NEWS.md.

Step 3: Update NEWS.md

Fill release notes under new ver heading:

# 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

Use issue/PR numbers → traceability.

→ NEWS.md has complete summary of user-facing changes by category, w/ issue/PR numbers.

If err: changes hard reconstruct → git log --oneline v<previous>..HEAD lists all commits since last release + categorize.

Step 4: Final Checks

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

devtools::check() returns 0 errors, 0 warnings, 0 notes. Spell + URL clean.

If err: fix all errs + warns before release. Add false-positives to inst/WORDLIST. Replace broken URLs.

Step 5: Commit Release

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

→ Single commit w/ ver bump in DESCRIPTION + updated NEWS.md.

If err: other uncommitted changes → stage only DESCRIPTION + NEWS.md. Release commits = ver-related only.

Step 6: Tag Release

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

→ Annotated tag v0.2.0 created + pushed. git tag -l local; git ls-remote --tags origin confirms remote.

If err: push fails → check write access. Tag exists → verify points to correct commit git show v0.2.0.

Step 7: GitHub Release

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

Or:

usethis::use_github_release()

→ GH release created w/ notes visible on Releases page.

If err: gh release create fails → ensure gh auth (gh auth status). usethis::use_github_release() fails → create manual on GH.

Step 8: Set Dev Ver

After release, bump to dev:

usethis::use_dev_version()

Changes ver to 0.2.0.9000 → indicates dev.

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

→ DESCRIPTION ver = 0.2.0.9000. NEWS.md has new heading for dev ver. Pushed.

If err: usethis::use_dev_version() not available → manual change to x.y.z.9000 in DESCRIPTION + add # packagename (development version) heading to NEWS.md.

Check

  • Ver in DESCRIPTION matches intended
  • NEWS.md complete + accurate
  • R CMD check passes
  • Git tag matches ver (e.g. v0.2.0)
  • GH release exists w/ notes
  • Post-release dev ver set (x.y.z.9000)

Traps

  • Forget push tags: git push alone no push tags. Use --tags or git push origin v0.2.0
  • NEWS.md format: Markdown headers matching pkgdown/CRAN format
  • Tag wrong commit: Always tag after ver-bump commit, not before
  • CRAN ver already exists: CRAN won't accept dup. Always increment.
  • Dev ver in release: Never submit .9000 to CRAN

  • submit-to-cran — CRAN submission after release
  • create-github-release — general GH release creation
  • setup-github-actions-ci — triggers pkgdown rebuild on release
  • build-pkgdown-site — docs site reflects new ver

Dépôt GitHub

pjt222/agent-almanac
Chemin: i18n/caveman-ultra/skills/release-package-version
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Compétences associées

llamaguard

Autre

LlamaGuard est le modèle de Meta, doté de 7 à 8 milliards de paramètres, conçu pour modérer les entrées et sorties des LLM selon six catégories de sécurité comme la violence et les discours haineux. Il offre une précision de 94 à 95 % et peut être déployé avec vLLM, Hugging Face ou Amazon SageMaker. Utilisez cette compétence pour intégrer facilement le filtrage de contenu et des garde-fous de sécurité dans vos applications d'IA.

Voir la compétence

cost-optimization

Autre

Cette compétence de Claude aide les développeurs à optimiser les coûts du cloud grâce au redimensionnement des ressources, aux stratégies d'étiquetage et à l'analyse des dépenses. Elle fournit un cadre pour réduire les dépenses cloud et mettre en œuvre une gouvernance des coûts sur AWS, Azure et GCP. Utilisez-la lorsque vous devez analyser les coûts d'infrastructure, redimensionner les ressources ou respecter des contraintes budgétaires.

Voir la compétence

quantizing-models-bitsandbytes

Autre

Cette compétence quantifie les LLMs en précision 8 bits ou 4 bits à l'aide de bitsandbytes, permettant une réduction de 50 à 75 % de la mémoire utilisée avec une perte de précision minime. Elle est idéale pour exécuter des modèles plus volumineux sur une mémoire GPU limitée ou pour accélérer l'inférence, prenant en charge des formats comme INT8, NF4 et FP4. La compétence s'intègre à HuggingFace Transformers et permet l'entraînement QLoRA ainsi que l'utilisation d'optimiseurs en 8 bits.

Voir la compétence

dispatching-parallel-agents

Autre

Cette compétence Claude déploie plusieurs agents pour enquêter et résoudre simultanément 3 problèmes indépendants ou plus. Elle est conçue pour des scénarios impliquant des défaillances non liées qui peuvent être résolues sans état partagé ni dépendances. La capacité fondamentale est la résolution de problèmes en parallèle, en assignant un agent par domaine problématique indépendant afin de maximiser l'efficacité.

Voir la compétence