marketplace.json 항목에 relevance 블록을 추가하여 신호를 정의합니다.
마켓플레이스 운영자가 relevance 항목을 작성합니다. 그 다음 관리자가 관리 설정에서 마켓플레이스를 허용 목록에 추가합니다. 마켓플레이스가 허용 목록에 추가될 때까지 사용자는 마켓플레이스에서 제안을 볼 수 없습니다.
다음 페이지에서 다루는 경우:
- 플러그인을 설치하려는 경우: 플러그인 설치 및 관리 참조
- 제안을 끄려는 경우: 플러그인 관련성 작동 방식 이해 참조
- 마켓플레이스 운영자: 제안 작동 방식 읽기, 플러그인 항목에 관련성 추가 및 마켓플레이스 검증
- 관리자: 관리 설정에서 제안 활성화
플러그인 관련성 작동 방식 이해
marketplace.json의 각 플러그인 항목은 relevance 객체를 포함할 수 있습니다. 이 객체는 주제와 하나 이상의 신호를 이름 지정합니다. 신호는 Claude Code가 현재 세션에 대해 테스트하는 패턴입니다(예: 작업 디렉토리 또는 Claude가 읽은 파일).
신호 일치는 사용자의 머신에서 로컬로 발생하며 네트워크 트래픽을 추가하지 않습니다. Claude Code는 어떤 신호가 일치했는지 또는 해당 값을 Anthropic이나 마켓플레이스 운영자에게 보고하지 않습니다.
신호가 일치하고 플러그인이 아직 설치되지 않았을 때, Claude Code는 다음 위치에서 플러그인을 제안합니다:
- 스피너 팁: Claude가 응답하는 동안 스피너 아래에
/plugin install명령이 포함된 메시지가 나타납니다. - 세션 시작 알림:
cwd신호가 작업 디렉토리와 일치하면 사용자가 첫 번째 메시지를 보내기 전에 한 줄 알림이 나타납니다. /pluginDiscover 탭: 플러그인이 Discover 목록의 맨 위에 고정됩니다.
spinnerTipsEnabled를 false로 설정하거나 spinnerTipsOverride가 기본 제공 팁을 대체할 때 나타나지 않습니다. Discover 탭 핀은 두 설정 모두의 영향을 받지 않습니다.
플러그인 항목에 관련성 추가
marketplace.json의 플러그인 항목에 relevance 객체를 추가합니다. 다음 예제는 Claude가 .tf 파일을 읽거나 terraform을 실행할 때 terraform-helpers 플러그인이 관련성이 있음을 선언합니다:
필드 참조
relevance 객체와 중첩된 signals 객체는 다음 표의 필드를 허용합니다.
이전 클라이언트는 여전히 인식하지 못하는 relevance 필드를 사용하는 마켓플레이스를 로드합니다. relevance 및 relevance.signals 아래의 알 수 없는 필드는 로드 시 무시되기 때문입니다. 인식된 필드의 값이 필드 참조의 제한을 초과하면 전체 플러그인 항목이 무효화되고 사용자는 수정할 때까지 마켓플레이스에서 해당 플러그인을 설치할 수 없습니다. claude plugin validate는 동일한 제한을 보고합니다.
relevance
topic은 종종 제품 이름입니다(예: Terraform). 플러그인 이름이 주제로 자연스럽게 들리지 않을 때 design과 같은 도메인을 사용합니다.
relevance.signals
signals 객체는 다음 필드를 허용합니다.
filesRead 및 manifestDeps 신호는 또한 Claude가 이 세션에서 작성하거나 편집한 파일과 프로젝트의 자동 로드된 CLAUDE.md 메모리 파일에 대해 일치합니다.
작업 디렉토리 일치
cwd는 세션 시작 시, 사용자가 첫 번째 메시지를 보내기 전에 일치할 수 있는 유일한 신호입니다.
Claude Code는 다음과 같이 각 cwd 패턴을 일치시킵니다:
- 패턴은 절대 경로로 작업 디렉토리와 일치합니다. 세션이 git 저장소 내에 있을 때, 저장소 루트에 상대적인 작업 디렉토리의 경로와도 일치합니다.
- 일치는 정방향 슬래시 정규화 및 대소문자 구분 없음입니다.
- 모든 패턴은 디렉토리 자체 및 그 아래의 모든 항목과 일치하므로
infra,infra/,infra/**는 동일하게 작동합니다.
명령 이름 일치
Claude Code는 Claude가 실행하는 각 셸 명령에 대해 하나의 명령 이름을 기록합니다: 선행 환경 변수 할당 및sudo 이후의 첫 번째 토큰입니다. 복합 명령은 선행 명령만 기여하므로 cd infra && terraform plan은 terraform이 아닌 cd를 기록합니다.
매니페스트 종속성 일치
각manifestDeps 항목은 두 개의 JavaScript RegExp 소스 문자열을 쌍으로 만듭니다:
file: 매니페스트 파일의 경로와 대소문자 구분 없이 일치합니다. 경로는 일반적으로 절대 경로이므로 시작이 아닌 끝에 패턴을 고정합니다. 경로는 이 신호에 대해 구분자 정규화되지 않으므로 Windows 경로는 백슬래시를 사용합니다.pattern: 해당 파일의 내용과 대소문자 구분하여 일치합니다.
manifestDeps를 사용하여 Claude가 SDK의 npm 패키지(여기서는 your-sdk라고 함)에 의존하는 package.json을 읽은 후 플러그인을 제안합니다.
file 패턴은 [/\\\\]를 사용하여 정방향 슬래시와 백슬래시 경로 구분자 모두와 일치하고, \\.를 사용하여 점이 리터럴입니다. JSON에서 정규식의 각 백슬래시는 두 번 작성됩니다.
마켓플레이스 검증
셸에서 마켓플레이스 디렉토리에 대해claude plugin validate를 실행하여 게시하기 전에 relevance 블록을 확인합니다:
relevance 블록에 대한 오류 및 경고를 보고합니다:
relevance및relevance.signals아래의 알 수 없는 키를 경고로 보고합니다.relevance값이 객체가 아닌 경우를 플래그합니다.- 스키마, 포트 또는 경로를 포함하는
signals.hosts항목을 거부합니다.
Validation passed, Validation passed with warnings 또는 Validation failed로 끝납니다.
관리 설정에서 제안 활성화
사용자는 관리자가 관리 설정에서 마켓플레이스를 허용 목록에 추가할 때까지 마켓플레이스에서 제안을 볼 수 없습니다. 해당marketplace.json이 relevance를 선언하더라도 마찬가지입니다.
마켓플레이스를 허용 목록에 추가하려면 관리 설정을 다음과 같이 편집합니다:
- 마켓플레이스 이름을
pluginSuggestionMarketplaces에 추가합니다. - 공식 Anthropic 마켓플레이스 이외의 마켓플레이스의 경우, 마켓플레이스 소스를
extraKnownMarketplaces의 해당 이름 항목으로 또는strictKnownMarketplaces의 항목으로 선언합니다.
managed-settings.json은 GitHub 저장소에서 조직 마켓플레이스를 등록하고 해당 제안을 활성화합니다:
사용자가 보는 내용 미리보기
플러그인의relevance 신호가 세션 중에 일치할 때, 스피너 아래의 팁은 다음과 같이 읽습니다:
cwd 신호가 세션 시작 시 일치할 때, 한 줄 알림은 다음과 같이 읽습니다:
/plugin Discover 탭에서 플러그인은 다른 결과 위에 고정되며 일치하는 신호를 이름 지정하는 주석이 있습니다(예: suggested for this directory 또는 suggested for terraform commands).
Claude Code는 주어진 플러그인을 제안하는 빈도를 제한합니다:
- 제안은 스피너 팁과 세션 시작 알림을 합쳐서 최대 3개 세션마다 한 번 나타납니다.
- 세션 시작 알림은 스피너 팁과 알림이 플러그인을 합쳐서 2번 표시한 후 나타나지 않습니다.
- 스피너 팁과 세션 시작 알림은 플러그인이 설치되면 반복되지 않습니다.
- Discover 탭은 사용자가 플러그인의 신호가 일치하는 동안 탭을 처음 열 때 플러그인을 고정합니다. Claude Code는 이를
~/.claude.json에 기록하므로 사용자가 나중에 해당 머신에서/plugin을 열 때마다 플러그인은 정상 순서로 나타납니다.
참고 항목
- 마켓플레이스 호스팅: 플러그인을 호스팅하는 마켓플레이스 실행
- 마켓플레이스 참조: 플러그인 항목이 허용하는 모든 필드
- CLI에서 플러그인 추천: Claude Code의 세션 신호 대신 자신의 CLI에서 사용자에게 메시지 표시
- 조직을 위한 플러그인 관리:
extraKnownMarketplaces,strictKnownMarketplaces및 나머지 플러그인 정책 키