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

release-package-version

pjt222
업데이트됨 2 days ago
3 조회
17
2
17
GitHub에서 보기
기타general

정보

이 스킬은 R 패키지의 완전한 릴리스 프로세스를 자동화합니다. 버전 업데이트, NEWS.md 갱신, Git 태그 생성, GitHub 릴리스 생성을 포함하며, 패키지가 새로운 패치, 마이너 또는 메이저 릴리스 준비가 되었을 때나 CRAN 승인 후 해당 GitHub 버전을 생성할 때 사용하도록 설계되었습니다. 또한 이 도구는 다음 개발 버전 증분 설정과 같은 릴리스 후 작업도 처리합니다.

빠른 설치

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/release-package-version

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

문서


name: release-package-version description: > Publicar una nueva versión de un paquete R incluyendo el incremento de versión, actualizaciones de NEWS.md, etiquetado git, creación de versiones de GitHub y configuración de la versión de desarrollo post-publicación. Usar cuando un paquete está listo para un nuevo parche, versión menor o mayor, tras la aceptación en CRAN para crear la versión de GitHub correspondiente, o al configurar el incremento de la versión de desarrollo inmediatamente después de una publicación. locale: es source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: r-packages complexity: intermediate language: R tags: r, versioning, release, git-tags, changelog

Publicar Versión del Paquete

Ejecutar el ciclo completo de publicación de versiones para un paquete R.

Cuándo Usar

  • Listo para publicar una nueva versión (corrección de errores, nueva funcionalidad o cambio disruptivo)
  • Tras la aceptación en CRAN, para crear la versión de GitHub correspondiente
  • Configurar la versión de desarrollo post-publicación

Entradas

  • Obligatorio: Paquete con cambios listos para publicar
  • Obligatorio: Tipo de publicación: parche (0.1.0 -> 0.1.1), menor (0.1.0 -> 0.2.0) o mayor (0.1.0 -> 1.0.0)
  • Opcional: Si enviar a CRAN (predeterminado: no, usar la habilidad submit-to-cran por separado)

Procedimiento

Paso 1: Determinar el Tipo de Incremento

Seguir el versionado semántico:

Tipo de CambioIncrementoEjemplo
Solo correcciones de erroresParche0.1.0 -> 0.1.1
Nuevas funcionalidades (compatibles hacia atrás)Menor0.1.0 -> 0.2.0
Cambios disruptivosMayor0.1.0 -> 1.0.0

Esperado: Se determina el tipo de incremento correcto (parche, menor o mayor) según la naturaleza de los cambios desde la última publicación.

En caso de fallo: Si hay dudas, revisar git log desde la última etiqueta y clasificar cada cambio. Cualquier cambio disruptivo de la API requiere un incremento mayor.

Paso 2: Actualizar la Versión

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

Esto actualiza el campo Version en DESCRIPTION y añade un encabezado a NEWS.md.

Esperado: Versión de DESCRIPTION actualizada. NEWS.md tiene un nuevo encabezado de sección para la versión publicada.

En caso de fallo: Si usethis::use_version() no está disponible, actualizar manualmente el campo Version en DESCRIPTION y añadir un encabezado # packagename x.y.z a NEWS.md.

Paso 3: Actualizar NEWS.md

Completar las notas de la versión bajo el nuevo encabezado:

# 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

Usar números de issue/PR para la trazabilidad.

Esperado: NEWS.md contiene un resumen completo de los cambios visibles para el usuario organizados por categoría, con números de issue/PR para la trazabilidad.

En caso de fallo: Si es difícil reconstruir los cambios, usar git log --oneline v<previous>..HEAD para listar todos los commits desde la última publicación y categorizarlos.

Paso 4: Verificaciones Finales

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

Esperado: devtools::check() devuelve 0 errores, 0 advertencias y 0 notas. La verificación ortográfica y de URLs no encuentra problemas.

En caso de fallo: Corregir todos los errores y advertencias antes de publicar. Añadir palabras con falso positivo a inst/WORDLIST para el corrector ortográfico. Reemplazar las URLs rotas.

Paso 5: Confirmar la Publicación

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

Esperado: Un único commit que contiene el incremento de versión en DESCRIPTION y el NEWS.md actualizado.

En caso de fallo: Si hay otros cambios sin confirmar, preparar solo DESCRIPTION y NEWS.md. Los commits de publicación deben contener únicamente cambios relacionados con la versión.

Paso 6: Etiquetar la Publicación

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

Esperado: Etiqueta anotada v0.2.0 creada y enviada al remoto. git tag -l muestra la etiqueta localmente; git ls-remote --tags origin la confirma en el remoto.

En caso de fallo: Si el push falla, verificar que se tiene acceso de escritura. Si la etiqueta ya existe, comprobar que apunta al commit correcto con git show v0.2.0.

Paso 7: Crear la Versión de GitHub

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

O usar:

usethis::use_github_release()

Esperado: Versión de GitHub creada con las notas de la versión visibles en la página de Versiones del repositorio.

En caso de fallo: Si gh release create falla, asegurarse de que la CLI gh está autenticada (gh auth status). Si usethis::use_github_release() falla, crear la versión manualmente en GitHub.

Paso 8: Configurar la Versión de Desarrollo

Tras la publicación, incrementar a la versión de desarrollo:

usethis::use_dev_version()

Esto cambia la versión a 0.2.0.9000 indicando que es una versión de desarrollo.

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

Esperado: La versión de DESCRIPTION es ahora 0.2.0.9000 (versión de desarrollo). NEWS.md tiene un nuevo encabezado para la versión de desarrollo. Los cambios se envían al remoto.

En caso de fallo: Si usethis::use_dev_version() no está disponible, cambiar manualmente la versión a x.y.z.9000 en DESCRIPTION y añadir un encabezado # packagename (development version) a NEWS.md.

Validación

  • La versión en DESCRIPTION coincide con la publicación prevista
  • NEWS.md tiene notas de versión completas y precisas
  • R CMD check pasa
  • La etiqueta git coincide con la versión (p. ej., v0.2.0)
  • La versión de GitHub existe con las notas de la versión
  • La versión de desarrollo post-publicación está configurada (x.y.z.9000)

Errores Comunes

  • Olvidar enviar las etiquetas: git push solo no envía las etiquetas. Usar --tags o git push origin v0.2.0
  • Formato de NEWS.md: Usar encabezados markdown que coincidan con el formato esperado por pkgdown/CRAN
  • Etiquetar el commit incorrecto: Siempre etiquetar después del commit de incremento de versión, no antes
  • La versión de CRAN ya existe: CRAN no acepta una versión que ya ha sido publicada. Incrementar siempre.
  • Versión de desarrollo en la publicación: Nunca enviar una versión .9000 a CRAN

Habilidades Relacionadas

  • submit-to-cran - envío a CRAN tras la publicación de la versión
  • create-github-release - creación general de versiones de GitHub
  • setup-github-actions-ci - activa la recompilación de pkgdown al publicar una versión
  • build-pkgdown-site - el sitio de documentación refleja la nueva versión

GitHub 저장소

pjt222/agent-almanac
경로: i18n/es/skills/release-package-version
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

llamaguard

기타

LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.

스킬 보기

cost-optimization

기타

이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.

스킬 보기

quantizing-models-bitsandbytes

기타

이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.

스킬 보기

dispatching-parallel-agents

기타

이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.

스킬 보기