Skip to main content

GitHub Copilot CLI 플러그 인 참조

CLI 플러그 인에 대한 명령 및 구성 세부 정보를 찾습니다.

이 문서의 내용

참고 항목

터미널에 입력 copilot plugin [SUBCOMMAND] --help 하여 플러그 인 사용에 대한 도움말을 찾을 수 있습니다.

CLI 명령

터미널에서 다음 명령을 사용하여 부조종사 CLI에 대한 플러그 인을 관리할 수 있습니다.

CommandDescription
copilot plugin install SPECIFICATION플러그 인을 설치합니다. 아래 명령의 플러그 인 사양을 install 참조하세요.
copilot plugin uninstall NAME플러그 인 제거
copilot plugin list설치된 플러그 인 나열
copilot plugin update NAME플러그 인 업데이트
copilot plugin marketplace add SPECIFICATION마켓플레이스 등록
copilot plugin marketplace list등록된 마켓플레이스 나열
copilot plugin marketplace browse NAME마켓플레이스 플러그 인 찾아보기
copilot plugin marketplace remove NAME마켓플레이스 등록 취소

명령에 대한 install 플러그 인 사양

포맷예시Description
마켓플레이스plugin@marketplace등록된 마켓플레이스에서 플러그 인
GitHubOWNER/REPOGitHub 리포지토리의 루트
GitHub 서브디렉토리OWNER/REPO:PATH/TO/PLUGIN리포지토리의 하위 디렉터리
Git URLhttps://github.com/o/r.git모든 Git URL
로컬 경로
          `./my-plugin` 또는 `/abs/path`    | 로컬 디렉터리 |

plugin.json

모든 플러그 인은 플러그 인 디렉터리의 루트에 있는 plugin.json 매니페스트 파일을 포함하는 플러그 인 디렉터리로 구성됩니다. GitHub Copilot 명령 줄 인터페이스 (CLI)에 대한 플러그 인 만들기을(를) 참조하세요.

필수 필드

분야유형Description
name문자열Kebab-case 플러그 인 이름(문자, 숫자, 하이픈만 해당). 최대 64자

선택적 메타데이터 필드

분야유형Description
description문자열간략한 설명입니다. 최대 1024자
version문자열의미 체계 버전(예: 1.0.0).
author객체
          `name` (필수), `email` (선택 사항), `url` (선택 사항) |

| homepage | 문자열 | 플러그 인 홈페이지 URL입니다. | | repository | 문자열 | 원본 리포지토리 URL입니다. | | license | 문자열 | 라이선스 식별자(예: MIT). | | keywords | 문자열[] | 키워드를 검색합니다. | | category | 문자열 | 플러그 인 범주입니다. | | tags | 문자열[] | 추가 태그입니다. |

구성 요소 경로 필드

그러면 플러그 인의 구성 요소를 찾을 수 있는 위치를 CLI에 알립니다. 모두 선택 사항입니다. 생략하면 CLI는 기본 규칙을 사용합니다.

분야유형DefaultDescription
agentsstring | string[]agents/에이전트 디렉터리(.agent.md 파일)에 대한 경로입니다.
skillsstring | string[]skills/기술 디렉터리(SKILL.md 파일)에 대한 경로입니다.
commandsstring | string[]명령 디렉터리에 대한 경로입니다.
hooksstring | 개체후크 구성 파일 또는 인라인 후크 개체의 경로입니다.
mcpServersstring | 개체MCP 구성 파일(예: .mcp.json) 또는 인라인 서버 정의에 대한 경로입니다.
lspServersstring | 개체LSP 구성 파일 또는 인라인 서버 정의에 대한 경로입니다.

예제 plugin.json 파일

JSON
{
  "name": "my-dev-tools",
  "description": "React development utilities",
  "version": "1.2.0",
  "author": {
    "name": "Jane Doe",
    "email": "[email protected]"
  },
  "license": "MIT",
  "keywords": ["react", "frontend"],
  "agents": "agents/",
  "skills": ["skills/", "extra-skills/"],
  "hooks": "hooks.json",
  "mcpServers": ".mcp.json"
}

marketplace.json

리포지토리의 .github/plugin/ 디렉터리에 marketplace.json 파일을 만들어 저장하면, 사람들이 플러그인을 검색하고 설치할 수 있는 플러그인 마켓플레이스를 만들 수 있습니다. 파일을 로컬 파일 시스템에 저장할 수도 있습니다 marketplace.json. 예를 들어 파일을 다음과 같이 /PATH/TO/my-marketplace/.github/plugin/marketplace.json 저장하면 다음 명령을 사용하여 CLI에 파일을 추가할 수 있습니다.

copilot plugin marketplace add /PATH/TO/my-marketplace

참고 항목

부조종사 CLI는 .claude-plugin/ 디렉터리에서 marketplace.json 파일을 또한 찾습니다.

자세한 내용은 GitHub Copilot 명령 줄 인터페이스 (CLI)에 대한 플러그 인 마켓플레이스 만들기을(를) 참조하세요.

예제 marketplace.json 파일

JSON
{
  "name": "my-marketplace",
  "owner": {
    "name": "Your Organization",
    "email": "[email protected]"
  },
  "metadata": {
    "description": "Curated plugins for our team",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "frontend-design",
      "description": "Create a professional-looking GUI ...",
      "version": "2.1.0",
      "source": "./plugins/frontend-design"
    },
    {
      "name": "security-checks",
      "description": "Check for potential security vulnerabilities ...",
      "version": "1.3.0",
      "source": "./plugins/security-checks"
    }
  ]
}

참고 항목

각 플러그 인에 source 대한 필드 값은 리포지토리의 루트를 기준으로 플러그 인 디렉터리의 경로입니다. 경로의 시작 부분에 사용할 ./ 필요는 없습니다. 예를 들어 "./plugins/plugin-name""plugins/plugin-name"은 동일한 디렉터리로 해결됩니다.

          `marketplace.json` 필드

최상위 필드

분야유형필수Description
name문자열케밥형 마켓플레이스 이름입니다. 최대 64자
owner객체
          `{ name, email? }` — 마켓플레이스 소유자 정보입니다. |

| plugins | 배열 | 네 | 플러그 인 항목 목록(아래 표 참조). | | metadata | 객체 | 아니오 | { description?, version?, pluginRoot? } |

플러그 인 항목 필드(배열 내의 plugins 개체)

분야유형필수Description
name문자열Kebab-case 플러그 인 이름입니다. 최대 64자
sourcestring | 개체플러그 인(상대 경로, GitHub또는 URL)을 가져올 위치입니다.
description문자열아니오플러그 인 설명입니다. 최대 1024자
version문자열아니오플러그 인 버전입니다.
author객체아니오{ name, email?, url? }
homepage문자열아니오플러그 인 홈페이지 URL입니다.
repository문자열아니오원본 리포지토리 URL입니다.
license문자열아니오라이선스 식별자
keywords문자열[]아니오키워드를 검색합니다.
category문자열아니오플러그 인 범주입니다.
tags문자열[]아니오추가 태그입니다.
commands문자열 | 문자열[]아니오명령 디렉터리에 대한 경로입니다.
agentsstring[] |아니오에이전트 디렉터리에 대한 경로입니다.
skillsstring | string[]아니오기술 디렉터리에 대한 경로입니다.
hooksstring | 개체아니오후크 구성 또는 인라인 후크 개체에 대한 경로입니다.
mcpServersstring | 개체아니오MCP 구성 또는 인라인 서버 정의에 대한 경로입니다.
lspServersstring | 개체아니오LSP 구성 또는 인라인 서버 정의에 대한 경로입니다.
strict불리언아니오false이면 플러그 인에 자체 plugin.json플러그 인이 필요하지 않습니다. 기본값: true.

파일 위치

Item경로
설치된 플러그 인
          `~/.copilot/installed-plugins/` 및 `~/.copilot/installed-plugins/_direct` |

| Marketplace 캐시 | ~/.copilot/state/marketplace-cache/ | | 플러그 인 매니페스트 | plugin.json, .github/plugin/plugin.json 또는 .claude-plugin/plugin.json | | Marketplace 매니페스트 | .github/plugin/marketplace.json 또는 .claude-plugin/marketplace.json | | Agents | agents/ (기본값, 매니페스트에서 재정의 가능) | | 기술 | skills/ (기본값, 매니페스트에서 재정의 가능) | | 후크 설정 | hooks.json 또는 hooks/hooks.json | | MCP 구성 | .mcp.json 또는 .github/mcp.json | | LSP 구성 | lsp.json 또는 .github/lsp.json |

로드 순서 및 우선 순위

여러 플러그 인을 설치하는 경우 MCP 서버를 통해 제공되는 일부 사용자 지정 에이전트, 기술, MCP 서버 또는 도구에 중복 이름이 있을 수 있습니다. 이 경우 CLI는 우선 순위에 따라 사용할 구성 요소를 결정합니다.

  •         **에이전트 및 기술은** 첫 번째 발견된 항목 우선 규칙을 사용합니다.
    

    설치한 플러그 인의 이름과 ID가 같은 프로젝트 수준 사용자 지정 에이전트 또는 기술이 있는 경우 플러그 인의 에이전트 또는 기술은 자동으로 무시됩니다. 플러그 인은 프로젝트 수준 또는 개인 구성을 재정의할 수 없습니다. 사용자 지정 에이전트는 파일 이름에서 파생된 ID를 기반으로 중복이 제거됩니다(예: 파일 이름이 reviewer.agent.md인 경우, 에이전트 ID는 reviewer가 됩니다). 파일 내 SKILL.md의 이름 필드를 기준으로 기술이 중복 제거됩니다.

  •         **MCP 서버** 는 마지막 우선 순위를 사용합니다.
    

    이미 설치한 MCP 서버와 동일한 서버 이름을 가진 MCP 서버를 정의하는 플러그 인을 설치하는 경우 플러그 인의 정의가 우선합니다. 명령줄 옵션 --additional-mcp-config을 사용하여 플러그인을 통해 설치된 MCP 서버 구성과 동일한 이름의 구성을 재정의할 수 있습니다.

  •         **기본 제공 도구 및 에이전트는** 항상 존재하며 사용자 정의 구성 요소에서 재정의할 수 없습니다.
    

다음 다이어그램에서는 로드 순서 및 우선 순위 규칙을 보여 줍니다.

┌─────────────────────────────────────────────────────────┐
│  BUILT-IN - HARDCODED, ALWAYS PRESENT                   │
│  • tools: bash, view, apply_patch, glob, rg, task, ...  │
│  • agents: explore, task, code-review, general-purpose  │
└────────────────────────┬────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  CUSTOM AGENTS - FIRST LOADED IS USED (dedup by ID)                 │
  │  1. ~/.copilot/agents/           (user, .github convention)         │
  │  2. <project>/.github/agents/    (project)                          │
  │  3. <parents>/.github/agents/    (inherited, monorepo)              │
  │  4. ~/.claude/agents/            (user, .claude convention)         │
  │  5. <project>/.claude/agents/    (project)                          │
  │  6. <parents>/.claude/agents/    (inherited, monorepo)              │
  │  7. PLUGIN: agents/ dirs         (plugin, by install order)         │
  │  8. Remote org/enterprise agents (remote, via API)                  │
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  AGENT SKILLS - FIRST LOADED IS USED (dedup by name)                │
  │  1. <project>/.github/skills/        (project)                      │
  │  2. <project>/.agents/skills/        (project)                      │
  │  3. <project>/.claude/skills/        (project)                      │
  │  4. <parents>/.github/skills/ etc.   (inherited)                    │
  │  5. ~/.copilot/skills/               (personal-copilot)             │
  │  6. ~/.claude/skills/                (personal-claude)              │
  │  7. PLUGIN: skills/ dirs             (plugin)                       │
  │  8. COPILOT_SKILLS_DIRS env + config (custom)                       │
  │  --- then commands (.claude/commands/), skills override commands ---│
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  MCP SERVERS - LAST LOADED IS USED (dedup by server name)           │
  │  1. ~/.copilot/mcp-config.json       (lowest priority)              │
  │  2. .vscode/mcp.json                 (workspace)                    │
  │  3. PLUGIN: MCP configs              (plugins)                      │
  │  4. --additional-mcp-config flag     (highest priority)             │
  └─────────────────────────────────────────────────────────────────────┘