Skip to content

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

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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