Skip to main content

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

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

소개

플러그 인은 .의 기능을 확장하는 패키지입니다 Copilot CLI. 플러그 인 정보 GitHub Copilot을(를) 참조하세요.

참고

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

플러그 인 구조

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

Copilot CLI 에서는 다음 두 가지 플러그 인 형식을 지원합니다.

  • 에이전트 플러그 인 1.0, 기술 및 MCP 서버에 대 한 이식 가능한 형식입니다. 정식 $schema 형식 plugin.json 으로 선언하면 플러그 인이 이 형식으로 옵트인됩니다.
  • Copilot 전용 구성 요소와 구성 가능한 구성 요소 경로를 지원하는 레거시 Copilot 형식입니다. 에이전트 플러그 인 $schema 이 없는 매니페스트는 이 형식을 계속 사용합니다.

두 형식 모두 지원됩니다. 호환되는 클라이언트에서 기술과 MCP 서버를 이식할 수 있도록 하려면 에이전트 플러그 인 1.0을 선택합니다. 사용자 지정 구성 요소 경로가 필요하거나 기존 특정 플러그 인을 유지 관리하는 경우 레거시 형식을 Copilot선택합니다. 에이전트 플러그 인 1.0에서 기술 및 MCP 서버는 이식 가능하며 Copilot에이전트, 명령, 규칙, 후크 및 LSP 서버와 같은 특정 구성 요소는 플러그 인의 com.github.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만 허용합니다. 알 수 없는 최상위 필드가 보고되고 무시됩니다. 이 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를 확장합니다.

  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. 필요에 따라 플러그 인 개발을 반복합니다.

    중요

    플러그 인을 설치하면 해당 구성 요소가 캐시되고 CLI가 후속 세션을 위해 캐시에서 읽습니다. 로컬 플러그 인에 대한 변경 내용을 선택하려면 다시 설치합니다.

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

    Shell
    copilot plugin uninstall NAME
    

    참고

    플러그 인을 제거하려면 플러그 인의 디렉터리에 대한 name 경로가 아니라 플러그 인의 plugin.json 매니페스트 파일 필드에 지정된 대로 플러그 인의 이름을 사용합니다.

플러그 인 배포

플러그 인을 배포하려면 마켓플레이스에 플러그 인을 추가할 수 있습니다. 에 대한 플러그 인 마켓플레이스 만들기 GitHub Copilot CLI을(를) 참조하세요.

추가 읽기