Skip to main content
Skip to content

에 대한 플러그 인 만들기 GitHub Copilot CLI

설치하기 쉬운 패키지에서 사용자 지정을 공유하는 플러그 인을 만듭니다.

플러그 인은 .의 기능을 확장하는 패키지입니다 Copilot CLI. 여러 클라이언트에 대한 개요는 GitHub Copilot용 플러그인을 참조하세요.

참고

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

플러그 인 구조

플러그 인은 특정 구조와 매니페스트 파일이 있는 디렉터리로 plugin.json 구성됩니다. 에이전트 플러그 인 1.0에는 플러그 인 루트의 매니페스트가 필요합니다. 레거시 플러그 인은 추가 매니페스트 위치를 지원합니다. 플러그 인에는 에이전트, 기술, 후크 및 MCP 서버 구성의 조합도 포함될 수 있습니다.

Agent Plugins 1.0은 호환 가능한 클라이언트 전반에서 스킬 및 MCP 서버를 위한 이식 가능한 형식입니다. Copilot CLI 는 레거시 Copilot 형식도 지원합니다.

  • 에이전트 플러그인 1.0을 사용하려면 plugin.json에서 canonical $schema를 선언하세요.
  • 레거시 형식은 Copilot별 구성 요소 및 구성 가능한 구성 요소 경로를 지원합니다. Copilot CLI에서는 에이전트 플러그인 $schema이 없는 매니페스트는 이 형식을 사용합니다.

호환되는 클라이언트에서 기술 및 MCP 서버를 공유하려는 경우 에이전트 플러그 인 1.0을 선택합니다. 클라이언트 설명서를 확인하여 지원하는 다른 구성 요소가 무엇인지 확인합니다. Copilot CLI에서 구성 가능한 구성 요소 경로가 필요하거나 Copilot 관련 기존 플러그인을 유지 관리하는 경우 레거시 형식을 선택합니다.

플러그 인 만들기

  1. 플러그 인에 대한 디렉터리를 만듭니다.

  2. 플러그 인 형식을 선택한 다음, 디렉터리의 루트에 매니페스트 파일을 추가 plugin.json 합니다.

    Agent Plugins 1.0 플러그인을 만들려면 표준 $schema을(를) 포함하세요:

예제 에이전트 플러그 인 1.0 plugin.json 파일

JSON
{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "my-dev-tools",
  "description": "React development utilities",
  "version": "1.2.0",
  "author": {
    "name": "Jane Doe",
    "email": "jane@example.com"
  },
  "license": "MIT",
  "keywords": ["react", "frontend"]
}

스키마는 최상위 필드로 name, version, description, author, homepage, repository, license, keywords, extensions, 및 $schema만 허용합니다. Copilot CLI 알 수 없는 최상위 필드를 보고하고 무시합니다. 이 extensions 필드는 역방향 도메인 네임스페이스로 키가 지정된 클라이언트별 데이터의 맵입니다.

레거시 플러그 인을 만들려면 에이전트 플러그 인 $schema을 생략합니다. 매니페스트에서 구성 요소 경로 필드를 사용할 수 있습니다.

레거시 plugin.json 파일 예제

JSON
{
  "name": "my-dev-tools",
  "description": "React development utilities",
  "agents": "agents/",
  "skills": ["skills/", "extra-skills/"],
  "hooks": "hooks.json",
  "mcpServers": ".mcp.json"
}

이 파일에 포함할 수 있는 전체 필드 집합에 대한 자세한 내용은 GitHub Copilot CLI 플러그 인 참조을 참조하세요.

  1. 플러그 인에 구성 요소를 추가합니다.

    Agent Plugins 1.0 플러그인에서는 스킬이 skills/의 바로 아래 하위 디렉터리여야 하며, 각 스킬에는 SKILL.md 파일이 포함되어 있어야 합니다. MCP 구성은 플러그인 루트의 mcp.json에 있어야 합니다. plugin.json에서 이 위치들을 재정의할 수 없습니다. Copilot 전용 구성 요소는 com.github.copilot/hooks/hooks.json 디렉터리에 들어가며, 예를 들어 사용자 지정 에이전트용 com.github.copilot/agents/ 및 후크용 com.github.copilot가 있습니다.

    레거시 플러그 인에서 기본 구성 요소 위치 또는 에 구성된 plugin.json구성 요소 경로를 사용합니다.

    다음은 그 예입니다.

    1. 하위 디렉터리에 NAME.agent.md 파일을 만들어 에이전트를 agents에 추가합니다. Agent Plugins 1.0 플러그인에서 com.github.copilot/agents/에 파일을 만듭니다. 레거시 플러그인에서는 agents/에서 만드세요.

      Markdown
      ---
      name: my-agent
      description: Helps with specific tasks
      tools: ["bash", "edit", "view"]
      ---
      
      You are a specialized assistant that...
      
    2. 플러그인 디렉터리 내에 skills/NAME 하위 디렉터리를 생성하여 스킬을 추가합니다. 여기서 NAME는 스킬의 이름입니다. 그런 다음, 이 하위 디렉터리 내에서 기술을 정의하는 파일을 만듭니 SKILL.md 다.

      예를 들어 "배포" 기술을 만들려면 다음을 만듭니다 skills/deploy/SKILL.md.

      Markdown
      ---
      name: deploy
      description: Deploy the current project to...
      ---
      
      Instructions for the skill...
      
    3. 에이전트 플러그 인 1.0 플러그 인의 경우 루트 mcp.json 파일에 MCP 서버를 추가합니다. MCP 구성은 자체 에이전트 플러그 인 스키마를 사용합니다.

      JSON
      {
       "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
       "mcpServers": {
         "deployment-api": {
           "type": "streamable-http",
           "url": "https://deploy.example.com/mcp"
         },
         "local-validator": {
           "type": "stdio",
           "command": "node",
           "args": ["${PLUGIN_ROOT}/server/index.js"],
           "cwd": "${PLUGIN_ROOT}",
           "env": {
             "DATA_DIR": "${PLUGIN_DATA}/validator"
           }
         }
       }
      }
      

streamable-http 전송 이름은 Streamable HTTP 서버에 허용됩니다. PLUGIN_DATA 서버의 경우, PLUGIN_ROOT는 ${PLUGIN_ROOT} 및 args 환경 변수를 제공하고 cwd, Copilot CLI 값 및 stdio에서 ${PLUGIN_DATA} 및 env를 확장합니다.

GitHub Copilot CLI로 플러그인을 테스트하세요

다음 명령은 Copilot CLI에서 플러그인을 테스트합니다.

  1. 플러그 인을 개발할 때 테스트할 수 있도록 로컬로 설치합니다.

    예를 들어, ./my-plugin가 플러그인 디렉터리의 경로인 경우 다음을 입력하십시오.

    Shell
    copilot plugin install ./my-plugin
    
  2. 설치된 플러그 인 목록을 확인하여 플러그 인이 성공적으로 로드되었는지 확인합니다.

    Shell
    copilot plugin list
    

    또는 새 대화형 세션을 시작하고 다음을 입력할 수 있습니다.

    Copilot prompt
    /plugin list
    
  3. 정의한 에이전트, 기술, 후크 및 MCP 서버 구성이 올바르게 로드되었는지 확인합니다.

    예를 들어 대화형 세션에서 플러그 인에 정의된 사용자 지정 에이전트가 로드되었는지 확인하려면 다음을 입력합니다.

    Copilot prompt
    /agent
    

    플러그 인에 정의된 기술이 로드되었는지 확인하려면 다음을 입력합니다.

    Copilot prompt
    /skills list
    
  4. 플러그 인 구성 요소에서 제공하는 기능을 사용하여 각 구성 요소가 예상대로 작동하는지 확인합니다.

  5. 필요에 따라 플러그 인 개발을 반복합니다.

    중요

    플러그 인을 설치하면 해당 구성 요소가 캐시되고 Copilot CLI는 후속 세션에서 캐시를 읽습니다. 로컬 플러그인에 적용된 변경 사항을 반영하려면 다시 설치합니다.

    Shell
    copilot plugin install ./my-plugin
    
  6. 테스트를 완료한 후 다음을 입력하여 플러그 인의 로컬 버전을 제거할 수 있습니다.

    Shell
    copilot plugin uninstall NAME
    

name에는 플러그인 디렉터리 경로가 아니라 플러그인 매니페스트NAME의 plugin.json 필드 값을 사용합니다.

플러그인 평가 추가

플러그인 컨텍스트를 에이전트형 인프라로 간주합니다. 플러그인이 지원하도록 의도된 동작에 대한 평가를 추가하고 지침, 도구 또는 기타 구성 요소를 변경할 때 해당 평가를 실행합니다.

플러그인 배포

플러그 인을 다른 사용자와 공유하려면 마켓플레이스에 추가하세요. GitHub 플러그 인 마켓플레이스 만들기 및 공유을(를) 참조하세요.

리포지토리 기본값은 프로젝트에 대해 플러그인을 활성화할 수 있습니다. 멤버는 이러한 기본값을 로컬로 재정의할 수 있지만 엔터프라이즈 관리 설정은 플러그 인을 요구하거나 차단할 수 있으며 항상 우선합니다.

추가 읽기