CLI에서의 Power Platform, 파트 1: Copilot CLI란 무엇이며 플러그인은 어떻게 구성되는가
요약
Microsoft의 Power Platform을 위한 공식 에이전트 플러그인 세트와 이를 활용하는 CLI 도구 사용법을 소개합니다. GitHub Copilot CLI와 Anthropic의 Claude Code가 동일한 플러그인 형식을 공유하여 작동하는 원리를 다룹니다.
핵심 포인트
- GitHub Copilot CLI와 Claude Code는 동일한 플러그인 형식을 공유함
- 에이전트 방식 CLI는 파일 읽기/쓰기 및 셸 명령 실행이 가능함
- Microsoft는 두 도구 모두에서 작동하는 통합 마켓플레이스를 제공함
- npm을 통해 두 도구 모두 간편하게 설치 및 설정 가능
Microsoft는 이제 Power Platform 개발을 위한 공식 에이전트 플러그인 세트인 microsoft/power-platform-skills 마켓플레이스를 제공합니다. 이는 동일한 플러그인 형식을 공유하는 두 가지 에이전트 방식의 명령줄 도구(command-line tools), 즉 GitHub Copilot CLI 및 Anthropic의 Claude Code와 함께 작동합니다.
이 시리즈는 전체 과정을 처음부터 끝까지 다룹니다. 이러한 CLI들이 무엇인지, 모든 Power Platform 플러그인을 어떻게 다운로드하는지, 플러그인이 무엇을 하는지 이해하기 위해 플러그인을 어떻게 읽는지, 7개의 모든 플러그인 투어, 그리고 마지막으로 이 모든 것을 하나의 솔루션으로 엮는 실제 작업 예제를 살펴봅니다.
두 CLI가 매우 유사하기 때문에, 과정 내내 Copilot CLI와 Claude Code 명령어를 나란히 보여드릴 것입니다. 여러분이 가진 것을 선택하세요. 플러그인은 동일합니다.
"에이전트 방식의 CLI (agentic CLI)"란 무엇인가?
VS Code 내에서 GitHub Copilot을 사용해 보셨다면, 자동 완성 및 채팅 경험을 알고 계실 것입니다. 에이전트 방식의 CLI (agentic CLI)는 이와는 다른 종류입니다. 이는 터미널에서 실행하는 프로그램으로, 대화를 나눌 수 있고, 프로젝트의 파일을 읽고 쓸 수 있으며, 셸 명령(shell commands)을 실행하고, MCP 서버를 호출하며, 진행 과정에서 권한을 요청하기 위해 잠시 멈추는 것을 포함하여 사용자를 대신해 다단계 작업을 수행할 수 있습니다.
현재 두 가지 주류 도구가 존재하며, 이들은 동일한 플러그인 형식을 읽기 때문에 여기서 중요합니다:
- GitHub Copilot CLI —
copilot명령어로 실행되는 GitHub의 터미널 에이전트입니다. 사용자의 GitHub Copilot 구독을 기반으로 합니다. - Claude Code —
claude명령어로 실행되는 Anthropic의 터미널 에이전트입니다. Claude 구독 또는 API 키를 기반으로 합니다.
단일 Microsoft 마켓플레이스가 두 도구 모두에 서비스를 제공할 수 있는 이유는 이들이 "플러그인"이라는 공유된 개념으로 수렴했기 때문입니다. 즉, 스킬(skills), 에이전트(agents), MCP 서버 정의 및 매니페스트(manifest)를 포함하는 폴더입니다. Copilot CLI는 .plugin/ 폴더를 찾고, Claude Code는 .claude-plugin/ 폴더를 찾습니다. Power Platform 저장소는 단순히 동일한 내용으로 두 가지 모두를 제공합니다.
CLI 설치하기
두 도구 모두 npm을 통해 설치하며, 둘 다 어느 정도 최신 버전의 Node.js를 필요로 합니다.
GitHub Copilot CLI (Node.js 22 이상 및 활성화된 Copilot 구독 필요):
npm install -g @github/copilot
copilot # 처음 실행 시 인증을 요청합니다
세션 내부에서 /login 슬래시 명령 (slash command)으로 인증하고 안내를 따르세요. 토큰을 사용하고 싶다면, Copilot Requests 권한을 가진 세밀한 개인 액세스 토큰 (fine-grained personal access token)을 생성한 후 이를 COPILOT_GITHUB_TOKEN (또는 GH_TOKEN / GITHUB_TOKEN)으로 내보내기 (export) 하세요.
Claude Code (Node.js 18 이상 및 Claude 계정 필요):
npm install -g @anthropic-ai/claude-code
claude # 처음 실행 시 로그인 과정을 안내합니다
두 도구 모두 대화형 REPL (Read-Eval-Print Loop)입니다. 자연어로 요청을 입력하면 에이전트 (agent)가 작업을 제안하고, 사용자가 이를 승인합니다. 슬래시 명령 (slash commands, /로 시작하는 모든 것)은 모델과 대화하는 대신 도구 자체를 제어하며, 이를 통해 플러그인 (plugins)을 관리하게 됩니다.
모든 데이터는 디스크의 어디에 저장되는가?
이 부분에서 사람들이 혼란을 겪기 때문에 구체적으로 짚고 넘어갈 가치가 있습니다. 두 도구 모두 플러그인을 프로젝트 폴더에 쏟아붓지 않습니다. 대신 사용자별 홈 디렉토리 (home directory)를 유지합니다.
Copilot CLI는 다음과 같이 구성됩니다:
~/.copilot/
├── installed-plugins/
│ ├── <marketplace-name>/
...
마켓플레이스 (Marketplaces) 자체는 운영체제(OS)별 특정 위치에 별도로 캐싱됩니다. Linux의 경우 ~/.cache/copilot/marketplaces/, macOS의 경우 ~/Library/Caches/copilot/marketplaces/, Windows는 그에 상응하는 위치입니다. 각 플러그인은 또한 COPILOT_PLUGIN_DATA 환경 변수로 노출되는 전용 쓰기 가능 임시 디렉토리 (private writable scratch directory)를 할당받습니다.
Claude Code는 자체 홈 디렉토리 아래에 병렬적인 구조를 유지합니다:
~/.claude/
├── plugins/ # 설치된 플러그인 + 마켓플레이스 복제본
├── settings.json # 권한, 기본 모드 등
...
두 경우 모두 멘탈 모델(Mental model)은 동일합니다. 마켓플레이스(marketplace)는 플러그인(plugin)으로 가득 찬 git 저장소(repo)이며, 플러그인을 설치하면 해당 플러그인의 폴더를 CLI의 홈 디렉토리로 복사(또는 링크)하여 그 기술(skills)과 에이전트(agents)를 모든 세션에서 사용할 수 있게 됩니다.
플러그인 폴더의 구조 (Anatomy of a plugin folder)
여기서부터 유용해집니다. 플러그인의 형태를 알고 나면, 어떤 플러그인이든 열어서 약 1분 만에 무엇을 하는지 파악할 수 있습니다. 별도의 문서(documentation)가 필요 없습니다. Power Platform 마켓플레이스의 모든 플러그인은 동일한 레이아웃을 따릅니다. 축약된 실제 power-pages 플러그인의 모습은 다음과 같습니다:
power-pages/
├── .plugin/plugin.json # 매니페스트 (manifest) (Copilot CLI가 이를 읽음)
├── .claude-plugin/plugin.json # 동일한 매니페스트 (Claude Code가 이를 읽음)
...
이 폴더들 중 몇 가지가 핵심적인 의미를 담고 있습니다:
매니페스트 (The manifest) (plugin.json)는 플러그인의 신분증 역할을 합니다. 이름, 버전, 설명, 작성자, 그리고 키워드 목록이 포함됩니다. Copilot CLI는 .plugin/plugin.json, plugin.json, .github/plugin/plugin.json, .claude-plugin/plugin.json 순서로 매니페스트를 확인합니다. Claude Code는 .claude-plugin/plugin.json을 확인합니다. 두 가지를 모두 포함하여 배포하면 이식성(portable)을 갖추게 됩니다.
기술 (Skills) (skills/*/SKILL.md)은 실제 기능입니다. 각 기술은 SKILL.md 파일이 포함된 폴더로 구성되며, 이 파일의 프런트 매터(front matter)에는 이름, 사용 시점에 대한 설명, 사람이 직접 호출할 수 있는지 여부, 그리고 접근 가능한 도구(tools) 목록이 선언되어 있습니다. 사용자가 CLI에 "Power Pages 사이트 생성해줘"라고 요청하면, 작업을 안내하기 위해 create-site라는 이름의 기술이 로드됩니다. 파트 2에서 이 파일을 한 줄씩 읽어보겠습니다.
에이전트 (Agents) (agents/*.md)는 기술이 작업을 넘겨줄 수 있는 더 좁은 범위의 전문가입니다. 예를 들어, Dataverse 테이블 설계에만 집중하는 data-model-architect가 이에 해당합니다. 이를 통해 플러그인은 작업을 병렬화하고 집중력을 유지할 수 있습니다.
MCP 설정 (MCP config) (.mcp.json)은 플러그인이 의존하는 Model Context Protocol (MCP) 서버 목록을 나열합니다. 예를 들어, Power Pages는 Playwright 서버(에이전트가 브라우저에서 사이트를 열고 작업 내용을 확인할 수 있도록 함)와 호스팅된 Microsoft Learn MCP(추측하는 대신 권위 있는 문서를 찾아볼 수 있도록 함)를 함께 제공합니다. CLI는 이를 필요할 때마다 실행하며, 사용자가 별도로 설치할 필요는 없습니다.
**AGENTS.md / CLAUDE.md**는 해당 도메인에 대해 항상 켜져 있는 브리핑 파일입니다. 여기에는 컨벤션 (conventions), 가드레일 (guardrails), 그리고 기술들이 어떻게 서로 맞물려 작동하는지가 포함됩니다. 심볼릭 링크 (symlink)를 사용하기 때문에 Copilot CLI (AGENTS.md)와 Claude Code (CLAUDE.md)는 정확히 동일한 지침을 읽게 됩니다.
이 구조를 이해해야 하는 이유
플러그인을 맹목적으로 신뢰할 필요가 없습니다. 모든 것이 일반 파일(JSON 매니페스트 (JSON manifests), 마크다운 기술 (Markdown skills), 작은 MCP 설정)로 구성되어 있기 때문에, 플러그인을 실행하기 전에 해당 플러그인이 정확히 무엇을 할 것이며 무엇을 건드릴 수 있는지 직접 읽어볼 수 있습니다. 이러한 투명성이 다음 포스트의 핵심이며, 다음 포스트에서는 Power Platform 마켓플레이스 (marketplace)를 추가하고, 플러그인을 설치한 다음, 각 플러그인이 실제로 무엇을 하는지 확인하기 위해 내부를 열어볼 것입니다.
다음 예고 — 파트 2: power-platform-skills 마켓플레이스 추가, 플러그인 설치, 그리고 플러그인의 plugin.json 및 SKILL.md를 읽어 정확히 어떤 동작을 하는지 확인하기.
출처: GitHub Copilot CLI docs · microsoft/power-platform-skills
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기