Skip to content

feat: /changeset Claude Code 플러그인 추가 #32

@yceffort-naver

Description

@yceffort-naver

배경

현재 changeset 파일 생성은 pnpm changeset CLI를 통해 interactive하게 진행해야 합니다.
Claude Code 플러그인을 만들어 배포하면, 패키지 사용자들도 편리하게 changeset을 생성할 수 있습니다.

제안

Claude Code 플러그인으로 /changeset command를 만들어 배포합니다.

사용자 설치 방법

# 1. 마켓플레이스 등록 (한 번만)
/plugin marketplace add NaverPayDev/naverpay-plugins

# 2. 플러그인 설치
/plugin install changeset@naverpay-plugins

사용법

/naverpay-plugins:changeset

기능

  1. git diff로 변경된 파일 확인
  2. packages/ 내 변경된 패키지 자동 식별
  3. 사용자에게 버전 타입(major/minor/patch) 질문
  4. .changeset/*.md 파일 자동 생성

예시 출력

# .changeset/happy-dogs-dance.md

---
"@naverpay/react-pdf": patch
---

PDF 뷰어 스크롤 성능 개선

개발 가이드

1. 플러그인 구조

naverpay-plugins/
├── .claude-plugin/
│   ├── plugin.json          # 필수: 플러그인 메타데이터
│   └── marketplace.json     # 필수: 마켓플레이스 등록 정보
├── commands/
│   └── changeset.md         # /changeset command 정의
└── README.md

2. plugin.json 작성

{
  "name": "naverpay-plugins",
  "description": "NaverPay 개발 도구 모음",
  "version": "1.0.0",
  "author": {
    "name": "NaverPayDev"
  }
}

3. marketplace.json 작성

{
  "name": "naverpay-plugins",
  "owner": {
    "name": "NaverPayDev"
  },
  "plugins": [
    {
      "name": "changeset",
      "source": ".",
      "description": "변경된 패키지 감지 및 changeset 파일 생성",
      "version": "1.0.0"
    }
  ]
}

4. commands/changeset.md 작성

---
description: 변경된 패키지를 감지하고 changeset 파일을 생성합니다
allowed-tools: Bash(git diff:*), Bash(find:*), Read, Write, Glob, Grep
---

# Changeset Generator

## 지침

1. `git diff --name-only`로 변경된 파일 목록 확인
2. `packages/` 디렉토리 내 변경된 패키지 식별
3. 사용자에게 각 패키지별 버전 타입 질문 (major/minor/patch)
4. 변경 내용 요약 작성 요청
5. `.changeset/[random-name].md` 파일 생성

## 파일 형식

생성되는 changeset 파일 형식:

\`\`\`markdown
---
"@naverpay/package-name": patch
---

변경 내용 요약
\`\`\`

## 주의사항

- 변경된 패키지가 없으면 changeset 생성 불필요 안내
- `skip-detect-change` 레이블 사용 시 changeset 불필요

5. 로컬 테스트

# 플러그인 디렉토리에서 테스트
claude --plugin-dir ./naverpay-plugins

# 또는 심볼릭 링크로 테스트
ln -s $(pwd)/naverpay-plugins ~/.claude/plugins/naverpay-plugins

6. 배포

# GitHub에 push하면 배포 완료
git push origin main

7. 배포 확인

⚠️ npm 같은 중앙 registry/웹사이트는 없습니다.
GitHub 리포지토리 자체가 마켓플레이스 역할을 합니다.

  • 배포 확인: https://github.com/NaverPayDev/naverpay-plugins
  • 설치 확인: /plugin marketplace list

참고 자료

체크리스트

  • 플러그인 리포지토리 생성 (NaverPayDev/naverpay-plugins)
  • .claude-plugin/plugin.json 작성
  • .claude-plugin/marketplace.json 작성
  • commands/changeset.md 작성
  • 로컬 테스트 (claude --plugin-dir)
  • README.md 작성
  • GitHub에 push
  • 설치 테스트 (/plugin marketplace add, /plugin install)

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions