플러그인 게시 및 배포
Claude Code 플러그인을 자신의 마켓플레이스 또는 Anthropic의 디렉터리를 통해 게시하고, 사전 릴리스 체크리스트 및 사용자가 업데이트를 받는 방법을 알아봅니다.
Claude Code 플러그인을 게시한다는 것은 플러그인을 나열하는 마켓플레이스(플러그인을 나열하고 각 플러그인을 가져올 위치를 지정하는 JSON 카탈로그)에 플러그인을 등록하는 것을 의미하므로, 다른 사람들이 이름으로 플러그인을 설치하고 업데이트를 받을 수 있습니다. 자신의 마켓플레이스를 운영하거나 플러그인을 Anthropic의 디렉터리에 제출할 수 있습니다. 플러그인을 게시하지 않고 공유하려면 플러그인의 디렉터리 또는 .zip 파일을 사람들에게 보내서 직접 로드하도록 하면 됩니다.
이 페이지는 작동하는 플러그인을 작성한 저자가 이를 공유할 준비가 되었을 때를 위한 것입니다.
다음 경우는 다른 페이지에서 다룹니다:
- 플러그인이 아직 완성되지 않았습니다: 플러그인 만들기로 시작하세요
- 공식 마켓플레이스에 플러그인이 있는 CLI 또는 SDK를 유지 관리합니다: CLI에서 플러그인 권장을 참조하세요
배포 방법 선택으로 시작하여 배포 옵션을 비교하세요. 이미 경로를 알고 있다면 릴리스를 위해 플러그인 준비로 이동한 후 사용자에게 알려야 할 사항과 사용자가 업데이트를 받는 방법에 대해 경로의 섹션을 따르세요.
배포 방법 선택
플러그인을 설치해야 하는 사람에 따라 배포 옵션을 선택하세요:
| 경로 | 설치할 수 있는 사람 | 필요한 것 | 사용자가 자동으로 업데이트를 받나요? |
|---|---|---|---|
| 마켓플레이스 없음 | 플러그인 폴더 또는 .zip 파일을 받은 사람 |
플러그인의 폴더 | 없음. 보낸 복사본을 로드합니다 |
| 자신의 마켓플레이스 | 저장소에 접근할 수 있는 모든 사람(팀이 복제할 수 있는 비공개 저장소일 수 있음) | .claude-plugin/marketplace.json이 있는 git 저장소 또는 기타 호스트(플러그인을 나열함) |
꺼짐 |
| Anthropic의 디렉터리 | claude.ai 또는 Cowork에서 추가하는 사람. 계정 동기화를 통해 Claude Code 세션에도 로드됩니다 | 플러그인을 보유한 GitHub 저장소 및 제출할 유료 claude.ai 플랜 | 예, 푸시한 버전이 게시된 후 |
자동 업데이트는 사용자 측의 마켓플레이스별 설정으로, 백그라운드에서 새 버전을 가져옵니다.
릴리스를 위해 플러그인 준비
이름, 버전, 유효성 검사 및 마켓플레이스에서의 설치는 릴리스가 설치하는 사람들을 위해 작동하는지 여부를 결정합니다. 첫 번째 릴리스 전에 그리고 이후 각 릴리스 전에 확인하세요.
영구적인 이름 선택
사용자는 name@marketplace로 플러그인을 설치, 활성화 및 구성하므로, 이름이 바뀐 플러그인은 기존의 모든 설치에 대해 다른 플러그인입니다. deploy-helper와 같은 kebab-case 이름을 선택하세요. claude plugin validate는 다른 형식에 대해 경고하고 이를 영구적으로 취급하기 때문입니다. 사용자가 보는 레이블을 위해 plugin.json에서 displayName을 설정하세요.
버전 관리 방법 결정
plugin.json에서 version을 설정하고 나중에 변경하지 않고 커밋을 푸시하면, claude plugin update는 <name> is already at the latest version (1.0.0).을 출력하고 사용자는 이전 복사본을 유지합니다. 모든 릴리스에서 version을 증가시키거나, git 호스팅 마켓플레이스에서 생략하여 Claude Code가 커밋 SHA를 대신 사용하도록 하세요. 버전 및 업데이트를 참조하세요.
유효성 검사
셸에서 claude plugin validate --strict ./your-plugin을 실행하세요. 깨끗한 실행은 ✔ Validation passed를 출력합니다.
- CI에서:
--strict를 유지하세요. 이는 또한 알 수 없는 매니페스트 필드 또는 누락된version과 같은 경고에서 종료 코드 1로 실행을 실패합니다. 이전 단계에서version을 생략하기로 선택한 경우--strict를 제거하세요. - 경로: 유효성 검사는
./로 시작하지 않는 구성 요소 경로를 보고합니다. hook 명령 및 MCP 서버 구성 내에서 파일을${CLAUDE_PLUGIN_ROOT}/...로 참조하세요. 경로 규칙을 참조하세요.
로컬 마켓플레이스에서 설치
셸에서 claude plugin marketplace add ./path-to-marketplace로 플러그인을 나열하는 로컬 마켓플레이스를 추가하고, 플러그인을 설치한 후 세션을 시작하여 로드되는지 확인하세요.
- 작동하는 가장 작은 마켓플레이스는 마켓플레이스 만들기를 참조하세요.
- 설치가 소스 디렉터리를 로드하는지 아니면 캐시된 복사본을 로드하는지 알아보려면 제자리 및 복사된 플러그인을 참조하세요.
사용자가 보는 메타데이터 채우기
plugin.json에서 description, author, homepage 및 repository를 설정하고, 플러그인 루트에 README.md를 추가하세요. homepage는 URL로 구문 분석되어야 합니다. 매니페스트 참조는 모든 필드를 나열합니다.
eval 스위트 실행
eval 스위트가 있으면 셸에서 claude plugin eval을 실행하세요. 플러그인의 테스트 케이스를 실행하고 결과를 점수 매기므로, 플러그인을 변경할 때 회귀를 포착합니다. eval로 플러그인 테스트를 참조하세요.
마켓플레이스 없이 플러그인 공유
플러그인이 git 저장소에 있으면 사람들이 복제하고 체크아웃을 로드하거나, 릴리스에 첨부한 .zip을 가리키는 --plugin-url로 셸에서 Claude Code를 시작할 수 있습니다. 다음 버전을 얻으려면 풀하거나 다시 다운로드하면 됩니다. 저장소에 없으면 디렉터리 또는 .zip 파일을 보내세요. 다음 두 가지 방법 중 하나로 로드합니다:
- 한 세션의 경우: 셸에서
claude --plugin-dir ./deploy-helper로 Claude Code를 시작합니다. 여기서 경로는 복제, 압축 해제된 폴더 또는.zip파일 자체입니다. 한 세션 동안 플러그인을 로드하는 플래그를 참조하세요. - 모든 세션의 경우: 플러그인 디렉터리를
.claude-plugin/plugin.json과 함께~/.claude/skills/아래로 이동하여 Claude Code가 모든 세션에서 로드하도록 합니다.
동일한 저장소에 .claude-plugin/marketplace.json을 추가하면 사람들이 이름으로 설치하고 명령으로 업데이트할 수 있습니다. 자신의 마켓플레이스를 통해 게시를 참조하세요.
자신의 도구와 함께 플러그인 배포
CLI 또는 SDK를 유지 관리하는 경우 마켓플레이스에 플러그인을 게시하고 설치 관리자 또는 설치 후 메시지가 사용자가 필요로 하는 두 명령을 실행하거나 출력하도록 합니다: claude plugin marketplace add <source>, 그 다음 claude plugin install <name>@<marketplace>. 누군가 도구를 사용할 때 세션 내 검색의 경우 CLI에서 플러그인 권장을 참조하세요.
자신의 마켓플레이스를 통해 게시
자신의 마켓플레이스는 플러그인을 나열하는 .claude-plugin/marketplace.json 파일로, git 저장소에 추가됩니다. 파일이 저장소에 있으면 플러그인이 게시되며, 제출 양식이 없습니다. 파일을 플러그인의 자체 저장소 또는 별도의 저장소에 보관할 수 있습니다.
저장소에 마켓플레이스 파일 추가
플러그인의 자체 저장소에서 게시하려면 마켓플레이스 파일을 .claude-plugin/의 plugin.json 옆에 저장하고, source가 "./"(저장소 루트)인 항목 하나를 포함합니다. 항목에 plugin.json과 동일한 name을 지정하세요. 항목 이름과 매니페스트 이름을 동일하게 유지를 참조하세요:
{
"name": "your-marketplace",
"owner": { "name": "Your Name" },
"plugins": [
{ "name": "deploy-helper", "source": "./" }
]
}
셸에서 저장소의 claude plugin validate .을 실행하여 푸시하기 전에 파일을 확인하세요.
마켓플레이스 만들기는 한 저장소에 여러 플러그인이 있는 레이아웃을 다룹니다.
설치할 수 있는 사람 제어
저장소를 복제할 수 있는 모든 사람이 설치할 수 있으므로, 저장소가 비공개이면 마켓플레이스도 비공개입니다. git 저장소 이외의 호스트의 경우 마켓플레이스 호스팅을 참조하세요. 회사의 모든 사람(git을 사용하지 않는 사람 포함)에게 도달하려면 전체 회사에 배포를 참조하세요.
사용자에게 설치 방법 알리기
사용자에게 마켓플레이스를 추가한 후 셸에서 플러그인을 설치하도록 알리고, 소스 및 이름을 자신의 것으로 바꾸세요:
- 마켓플레이스를 한 번 추가:
claude plugin marketplace add your-org/your-marketplace. 인수는 GitHubowner/repo약자, URL 또는 경로입니다 - 플러그인 설치:
claude plugin install deploy-helper@your-marketplace - 또는 세션 내에서 둘 다 수행:
/plugin install deploy-helper --marketplace your-org/your-marketplace. Claude Code v2.1.275 이상이 필요합니다. 한 명령으로 마켓플레이스 추가 및 설치를 참조하세요
사용자에게 업데이트 배포
사용자는 요청할 때 또는 마켓플레이스에 대해 자동 업데이트가 켜져 있을 때 릴리스를 받습니다:
- 요청 시: 사용자의 셸에서
claude plugin update deploy-helper@your-marketplace는 마켓플레이스를 새로 고치고 플러그인의 버전이 변경되었을 때 새 복사본을 설치합니다 - 자동 업데이트: 마켓플레이스의 경우 기본적으로 꺼져 있습니다. 자동 업데이트 켜기를 참조하세요. 켜지면 세션 시작 후 지연 후
claude plugin update와 동일한 작업을 수행합니다
플러그인 설치는 사용자 측 명령을 다루고, 자동 업데이트가 실행되는 시기는 타이밍을 다룹니다.
Anthropic의 디렉터리에 제출
Anthropic의 디렉터리는 사람들이 claude.ai와 Cowork에서 플러그인과 커넥터를 추가하기 위해 탐색하는 카탈로그입니다. 여기에 하나의 목록이 있으면 claude.ai, Cowork, Claude Code의 사용자에게 도달합니다. claude.ai/directory/manage의 개발자 포털에서 제출하며, claude.com의 검토 준비에서는 각 버전이 게시되기 전에 어떤 일이 발생하는지 설명합니다.
제출하려면 유료 claude.ai 플랜이 필요합니다. Pro와 Max에서는 자신의 계정에서 제출합니다. Team과 Enterprise에서는 소유자가 제출할 수 있으며, Enterprise에서는 소유자가 Organization settings > Roles 아래의 사용자 정의 역할을 통해 다른 멤버에게 Directory 권한을 부여할 수도 있습니다. 디렉터리에 제출할 수 있는지 확인을 참조하세요.
제출 단계, 각 버전이 통과해야 하는 검사, 게시 후 발생하는 일은 claude.com에 문서화되어 있습니다. 사용자가 어느 서피스에 있든 동일하기 때문입니다:
- 디렉터리에 게시: 제출할 수 있는 것과 누가 제출할 수 있는지
- 플러그인 제출: 포털 단계 및 게시된 플러그인 업데이트
- 플러그인 제출 전 체크리스트: 제출 전에 실행하고 수정할 검사
- 이전 제출을 개발자 포털로 이동: 포털이 존재하기 전에 이전 제출 양식 중 하나를 통해 플러그인을 제출한 경우 수행할 작업
포털을 열기 전에 로컬에서 유효성을 검사하고 Claude Code 외부에서 로드되는 구성 요소를 확인하세요:
- 셸에서
claude plugin validate ./your-plugin --strict실행:./your-plugin을 플러그인 디렉터리의 경로로 바꾸세요. 이 명령은 로컬에서 매니페스트 오류를 포착합니다. plugin validate는 각 실행이 읽는 파일을 나열합니다. 포털은 CLI가 확인하지 않는 추가 디렉터리 규칙을 적용하므로, 깨끗한 로컬 실행이 깨끗한 포털 유효성 검사를 보장하지는 않습니다. - 어디에 로드되는지 확인: 일부 플러그인 구성 요소는 Claude Code 전용이며 claude.ai 또는 Cowork에서 로드되지 않습니다. 구성 요소 지원 표는 각 앱별로 각 구성 요소를 나열하므로 Claude Code 외부의 사용자가 무엇을 얻을지 알 수 있습니다.
Anthropic의 공식 마켓플레이스인 claude-plugins-official은 디렉터리 포털을 통한 제출을 받지 않습니다. Anthropic 파트너 담당자와 함께 일하면 공식 마켓플레이스 목록에 대해 물어보세요.
나열된 플러그인이 Claude Code 사용자에게 도달하는 방식
claude.ai의 디렉터리에서 플러그인을 설치한 사람은 자신의 계정에 플러그인이 있으며, Claude Code는 이를 <name>@synced로 로드합니다. claude.ai에서 동기화된 플러그인은 사용자가 보는 것과 이를 끄는 방법을 다룹니다.
업데이트, 이름 바꾸기 및 제거 배포
새 버전 릴리스
자신의 마켓플레이스를 통해 게시하고 plugin.json이 version을 설정하면 증가시키고 푸시하세요. claude plugin update를 실행하거나 자동 업데이트가 켜져 있는 사용자는 사용자에게 업데이트 배포에서 설명한 대로 새 버전을 받습니다. 디렉터리 목록은 게시된 플러그인 업데이트를 참조하세요.
릴리스 태그 지정
다른 플러그인이 버전 범위를 선언할 때 git에서 릴리스를 태그하세요. 이러한 범위는 태그에 대해 해결되기 때문입니다. 그렇지 않으면 태그가 필요하지 않습니다.
태그를 지정하려면 플러그인 디렉터리에서 셸의 claude plugin tag를 실행하세요. {name}--v{version} 태그를 만듭니다. --push를 추가하여 태그를 origin으로 보내세요. plugin tag 참조는 플래그를 나열합니다.
플러그인 이름 바꾸기 또는 제거
게시된 플러그인의 name을 절대 변경하지 마세요. 이름을 바꾼 후 이미 설치한 사용자는 플러그인을 잃습니다. 설치가 이전 이름으로 기록되기 때문입니다. 마켓플레이스 파일의 renames 항목이 대신 마이그레이션합니다. 다른 레이블을 원할 때 displayName을 변경하세요.
이름 바꾸기가 불가피한 경우 마켓플레이스 파일의 renames 맵을 사용하여 기존 설치가 Plugin "<name>" not found in marketplace로 실패하는 대신 마이그레이션하도록 합니다. 마켓플레이스에서 플러그인을 제거하거나 전체 renames 세부 정보는 호스팅 페이지의 플러그인 이름 바꾸기 또는 제거를 참조하세요. 마켓플레이스 참조에 필드가 있습니다.
종속성 선언
플러그인이 동일한 마켓플레이스의 다른 플러그인을 활성화해야 하는 경우 plugin.json의 dependencies 배열에 나열하세요. 각 항목은 베어 이름 또는 semver version 범위가 있는 객체입니다. 사용자가 플러그인을 설치하면 Claude Code가 종속성도 설치하고 활성화합니다.
플러그인 종속성은 범위 구문, 교차 마켓플레이스 종속성 및 사용자가 더 이상 필요하지 않은 종속성을 정리하는 방법을 다룹니다.
다음 단계
- 마켓플레이스 호스팅 및 유지 관리: 새 버전을 릴리스하고 사용자를 최신 상태로 유지합니다
- 플러그인 종속성: 플러그인이 의존하는 플러그인을 선언하고 버전 관리합니다
- CLI에서 플러그인 권장: CLI 사용자에게 플러그인을 설치하도록 Claude Code 사용자에게 메시지를 표시합니다
- 플러그인 비용 및 사용량 측정: 플러그인이 컨텍스트에서 비용이 얼마나 드는지 확인하고 사람들이 사용하는지 확인합니다