소개
GitHub Copilot용 CLI(명령줄 인터페이스)를 사용하면 터미널에서 직접 Copilot을 활용할 수 있습니다. 이를 통해 질문에 답하고, 코드를 작성/디버깅하고, GitHub.com과 상호 작용할 수 있습니다. 예를 들어, Copilot에게 프로젝트를 변경하고 끌어오기 요청을 생성하도록 요청할 수 있습니다.
GitHub Copilot 명령 줄 인터페이스 (CLI)를 사용하면 터미널에서 나가지 않고도 강력한 AI 에이전트에 빠르게 액세스할 수 있습니다. 이 기능은 사용자를 대신해 작업하여 작업을 더 빠르게 완료하는 데 도움이 되며, GitHub Copilot 명령 줄 인터페이스 (CLI)와 반복적으로 작업하여 필요한 코드를 작성할 수 있습니다.
지원되는 운영 체제
- 리눅스
- macOS
- Powershell 및 WSL(Linux용 Windows 하위 시스템) 내에서의 Windows
설치 지침은 GitHub Copilot CLI 설치을(를) 참조하세요.
사용 모드
GitHub Copilot 명령 줄 인터페이스 (CLI)에는 대화형 및 프로그래밍 방식의 두 가지 사용자 인터페이스가 있습니다.
대화형 인터페이스
대화형 세션을 시작하려면 .를 입력합니다 copilot. 대화형 세션 내에서 Copilot와 대화를 나눌 수 있습니다. Copilot에게 하나 이상의 작업을 수행하게 할 수 있으며, 피드백을 제공하고 작업 방향을 조율할 수 있습니다.

대화형 인터페이스에는 두 가지 모드가 있습니다. 기본 요청/실행 모드 외에도 Copilot가 완료하려는 작업에 대한 구조화된 구현 계획을 빌드하는 계획 모드 도 있습니다.
<kbd>Shift</kbd>+<kbd>Tab</kbd>을 눌러 모드 간을 순환합니다. 계획 모드에서 Copilot는 요청을 분석하고, 범위와 요구 사항을 이해하기 위해 명확한 질문을 하고, 코드를 작성하기 전에 계획을 수립합니다. 이렇게 하면 코드를 작성하기 전에 오해를 파악하고 복잡한 다단계 작업을 계속 제어할 수 있습니다.
프로그래밍 방식 인터페이스
명령줄에서 직접 단일 프롬프트를 CLI에 전달할 수도 있습니다. CLI는 작업을 완료한 다음 종료합니다.
CLI를 프로그래밍 방식으로 사용하려면 -p 또는 --prompt 명령줄 옵션을 명령에 포함하십시오. Copilot가 파일을 수정하고 실행할 수 있도록 하려면 이 문서의 후반부에서 설명하는 승인 옵션 중 하나도 사용해야 합니다. 자세한 내용은 수동 승인 없이 도구 사용 허용을 참조하세요. 다음은 그 예입니다.
copilot -p "Show me this week's commits and summarize them" --allow-tool 'shell(git)'
copilot -p "Show me this week's commits and summarize them" --allow-tool 'shell(git)'
또는 스크립트를 사용하여 명령줄 옵션을 출력하고 이를 copilot에 파이프로 전달할 수 있습니다. 다음은 그 예입니다.
./script-outputting-options.sh | copilot
./script-outputting-options.sh | copilot
주의
`--allow-all-tools`와 같은 자동 승인 옵션을 사용하면 Copilot은 컴퓨터의 파일에 대해 사용자와 동일한 액세스 권한을 가지며, 사전 승인 없이도 사용자가 실행할 수 있는 모든 셸 명령을 실행할 수 있습니다. 이 문서의 뒷부분에 나오는 [보안 고려 사항](#security-considerations)을 참조하세요.
GitHub Copilot 명령 줄 인터페이스 (CLI) 사용 사례
다음 섹션에서는 GitHub Copilot 명령 줄 인터페이스 (CLI)를 사용하여 완료할 수 있는 작업의 예를 제공합니다.
로컬 작업
-
프로젝트 디렉터리 내에서 Copilot에게 프로젝트 코드 변경을 요청할 수 있습니다. 다음은 그 예입니다.
Change the background-color of H1 headings to dark blueCopilot은 H1 헤딩이 정의된 CSS 파일을 찾아 색상 값을 변경합니다.
-
Copilot에게 파일의 변경 내역을 알려 달라고 요청합니다.
Show me the last 5 changes made to the CHANGELOG.md file. Who changed the file, when, and give a brief summary of the changes they made -
Copilot을 사용하면 프로젝트의 코드나 문서를 개선하는 데 도움이 됩니다.
-
Suggest improvements to content.js -
Rewrite the readme in this project to make it more accessible to newcomers
-
-
Copilot을 사용하면 Git 작업을 수행하는 데 도움이 됩니다.
-
Commit the changes to this repo -
Revert the last commit, leaving the changes unstaged
-
-
Copilot에게 개념 증명 등의 목적으로 처음부터 애플리케이션을 만들어 달라고 요청합니다.
Use the create-next-app kit and tailwind CSS to create a next.js app. The app should be a dashboard built with data from the GitHub API. It should track this project's build success rate, average build duration, number of failed builds, and automated test pass rate. After creating the app, give me easy to follow instructions on how to build, run, and view the app in my browser. -
Copilot에게 변경 내용이 예상대로 작동하지 않는 이유를 설명해 달라고 요청하거나, 마지막으로 변경한 내용의 이슈를 해결해 달라고 Copilot에게 요청합니다. 다음은 그 예입니다.
You said: "The application is now running on http://localhost:3002 and is fully functional!" but when I browse to that URL I get "This site can't be reached"
GitHub.com과 관련된 작업
-
GitHub.com에서 작업의 세부 정보를 가져와서 표시합니다.
-
List my open PRs이는 GitHub의 모든 리포지토리에서 열린 풀 리퀘스트를 나열합니다. 보다 구체적인 결과를 얻으려면 프롬프트에 리포지토리 이름을 포함하세요.
-
List all open issues assigned to me in OWNER/REPO
-
-
Copilot에게 이슈 작업 요청하기:
I've been assigned this issue: https://github.com/octo-org/octo-repo/issues/1234. Start working on this for me in a suitably named branch. -
Copilot에게 파일을 변경하고 GitHub.com에서 끌어오기 요청을 생성하도록 요청하세요.
-
In the root of this repo, add a Node script called user-info.js that outputs information about the user who ran the script. Create a pull request to add this file to the repo on GitHub. -
Create a PR that updates the README at https://github.com/octo-org/octo-repo, changing the subheading "How to run" to "Example usage"
Copilot이 사용자를 대신하여 GitHub.com에 풀 리퀘스트를 생성합니다. 사용자는 끌어오기 요청 작성자로 표시됩니다.
-
-
Copilot에게 GitHub.com에서 이슈를 생성해 달라고 요청합니다.
Raise an improvement issue in octo-org/octo-repo. In src/someapp/somefile.py the `file = open('data.txt', 'r')` block opens a file but never closes it. -
Copilot에게 끌어오기 요청의 코드 변경 내용을 확인하도록 요청합니다.
Check the changes made in PR https://github.com/octo-org/octo-repo/pull/57575. Report any serious errors you find in these changes.Copilot은 발견한 모든 이슈를 요약하여 CLI에서 응답합니다.
-
GitHub Copilot 명령 줄 인터페이스 (CLI)에서 끌어오기 요청을 관리합니다.
-
Merge all of the open PRs that I've created in octo-org/octo-repo -
Close PR #11 on octo-org/octo-repo
-
-
특정 유형의 이슈를 찾습니다.
Use the GitHub MCP server to find good first issues for a new team member to work on from octo-org/octo-repo참고 항목
특정 MCP 서버가 특정 작업을 수행할 수 있다는 것을 알고 있다면, 프롬프트에 이를 지정하여 Copilot에서 원하는 결과를 제공하는 데 도움이 될 수 있습니다.
-
특정 GitHub Actions 워크플로를 찾습니다.
List any Actions workflows in this repo that add comments to PRs -
GitHub Actions 워크플로를 만듭니다.
Branch off from main and create a GitHub Actions workflow that will run on pull requests, or can be run manually. The workflow should run eslint to check for problems in the changes made in the PR. If warnings or errors are found these should be shown as messages in the diff view of the PR. I want to prevent code with errors from being merged into main so, if any errors are found, the workflow should cause the PR check to fail. Push the new branch and create a pull request.
대화 조정
대화를 조정하려는 동안 Copilot과 상호 작용할 수 있습니다.
-
**추가 메시지 큐에 넣기**: 다른 방향으로 대화를 조정하기 위해 후속 메시지를 보내거나Copilot에 대한 추가 지침을 큐에 대기하여 현재 응답을 완료한 후 처리합니다. 이렇게 하면 대화가 더 자연스럽게 느껴지고 제어할 수 있습니다. -
**거부에 대한 인라인 피드백**: 도구 사용 권한 요청을 거부하면 Copilot 거부에 대한 인라인 피드백을 제공하여 완전히 중지하지 않고도 접근 방식을 조정할 수 있습니다. 이렇게 하면 Copilot을 특정 작업에서 벗어나도록 안내하려는 경우 대화 흐름이 더 자연스럽게 진행됩니다.
자동 컨텍스트 관리
GitHub Copilot 명령 줄 인터페이스 (CLI)는 자동으로 대화 컨텍스트를 관리합니다.
-
**자동 압축**: 대화가 토큰 제한의 95% 가까워지면 Copilot은 워크플로를 중단하지 않고 백그라운드에서 기록을 자동으로 압축합니다. 이렇게 하면 사실상 무한 세션이 가능합니다. -
**수동 제어**: 언제든지 컨텍스트를 수동으로 압축하는 데 사용합니다 `/compact` . 마음이 바뀌면 <kbd>이스케이프</kbd> 를 눌러 취소합니다. -
**사용량 시각화**: 이 `/context` 명령은 컨텍스트 창이 사용되는 방식을 이해할 수 있도록 자세한 토큰 사용 현황 분석을 보여 줍니다.
GitHub Copilot 명령 줄 인터페이스 (CLI) 사용자 지정
GitHub Copilot 명령 줄 인터페이스 (CLI)은 여러 가지 방법으로 사용자 지정할 수 있습니다.
-
**사용자 지정 지침**: 사용자 지정 지침을 사용하면 프로젝트에 대한 Copilot 추가 컨텍스트를 제공하고 변경 내용을 빌드, 테스트 및 유효성을 검사하는 방법을 제공할 수 있습니다. 이제 모든 사용자 지정 명령 파일이 우선 순위 기반 대체를 사용하는 대신 결합됩니다. 자세한 내용은 [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions)을(를) 참조하세요. -
**MCP(모델 컨텍스트 프로토콜) 서버**: MCP 서버를 사용하면 Copilot에게 다양한 데이터 원본 및 도구에 대한 액세스 권한을 부여할 수 있습니다. 자세한 내용은 [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#add-an-mcp-server)을(를) 참조하세요. -
**사용자 지정 에이전트**: 사용자 지정 에이전트를 사용하면 다양한 작업에 맞춰 Copilot의 여러 전문화 버전을 생성할 수 있습니다. 예를 들어, Copilot을 팀 가이드라인을 따르는 프론트엔드 엔지니어 전문가로 사용자 지정할 수 있습니다. GitHub Copilot 명령 줄 인터페이스 (CLI)에는 특수한 사용자 지정 에이전트가 포함되어 있으며, 이는 공통 작업을 자동으로 위임합니다. 자세한 내용은 [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents)을(를) 참조하세요. -
**후크: 후**크를 사용하면 에이전트를 실행하는 동안 키 지점에서 사용자 지정 셸 명령을 실행할 수 있으므로 유효성 검사, 로깅, 보안 검사 또는 워크플로 자동화를 추가할 수 있습니다. [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-hooks)을(를) 참조하세요. -
**기술**: 기술을 사용하면 Copilot의 기능을 향상시켜 지침, 스크립트 및 리소스를 사용하여 특수 작업을 수행할 수 있습니다. 자세한 내용은 [AUTOTITLE](/copilot/concepts/agents/about-agent-skills)을(를) 참조하세요. -
**코필로트 메모리**: 코필로트 메모리를 사용하면 Copilot이 작업을 진행하면서 추론한 코딩 규칙, 패턴 및 기본 설정에 대한 정보를 "기억"으로 저장하여 리포지토리를 지속적으로 이해할 수 있도록 합니다. 이렇게 하면 프롬프트에서 컨텍스트를 반복적으로 설명할 필요가 줄어들고 향후 세션의 생산성이 향상됩니다. 자세한 내용은 [AUTOTITLE](/copilot/concepts/agents/copilot-memory)을(를) 참조하세요.
보안 고려 사항
부조종사 CLI를 사용하면 Copilot이 파일을 실행하거나 수정하고, 셸 명령을 실행하는 등의 작업을 대신 수행할 수 있습니다.
따라서 부조종사 CLI를 사용할 때는 파일을 직접 작업하거나 터미널에서 직접 명령을 실행할 때와 마찬가지로 항상 보안 고려 사항을 염두에 두어야 합니다. 부조종사 CLI에서 승인을 요청할 때는 항상 제안된 명령을 주의 깊게 검토해야 합니다.
신뢰할 수 있는 디렉터리
신뢰할 수 있는 디렉터리는 부조종사 CLI가 파일을 읽고, 수정하고, 실행할 수 있는 위치를 제어합니다.
신뢰하는 디렉터리에서만 부조종사 CLI를 실행해야 합니다. 신뢰할 수 없는 실행 파일이 포함되어 있는 디렉터리에서는 부조종사 CLI를 사용해서는 안 됩니다. 마찬가지로, 중요하거나 기밀인 데이터나 변경하고 싶지 않은 파일이 들어 있는 디렉터리에서 CLI를 실행하면 의도치 않게 해당 파일이 위험에 노출될 수 있습니다. 일반적으로 홈 디렉터리에서는 부조종사 CLI를 실행하지 않는 것이 좋습니다.
권한 범위 지정은 추론 방식으로 동작하며 GitHub는 신뢰할 수 있는 디렉터리 외부의 모든 파일이 보호된다는 것을 보장하지 않습니다. 위험 완화를 참조하세요.
GitHub Copilot 명령 줄 인터페이스 (CLI) 세션을 시작하면 CLI를 실행한 디렉터리의 파일과 그 하위 디렉터리의 파일을 신뢰하는지 확인하라는 메시지가 표시됩니다. GitHub Copilot CLI 구성을(를) 참조하세요.
허용된 도구
Copilot이 파일을 수정하거나 실행하는 데 사용할 수 있는 도구(예: touch, chmod, node, sed)를 처음으로 사용해야 할 때, 해당 도구를 사용하도록 허용할지 여부를 묻습니다.
일반적으로 다음 세 가지 옵션 중에서 선택할 수 있습니다.
1. Yes
2. Yes, and approve TOOL for the rest of the running session
3. No, and tell Copilot what to do differently (Esc)
**옵션 1**은 Copilot이 이번에만 이 특정 명령을 실행하도록 허용합니다. 다음에 이 도구를 사용해야 할 때 다시 묻게 됩니다.
**옵션 2**는 Copilot이 현재 실행 중인 세션 동안 별도의 허가를 요청하지 않고도 이 도구를 다시 사용할 수 있도록 허용합니다. 새로운 세션에서 또는 나중에 현재 세션을 다시 시작할 경우에는 다시 승인을 요청합니다. 이 옵션을 선택하면 Copilot이 적절하다고 생각하는 방식으로 이 도구를 사용할 수 있게 됩니다. 예를 들어, Copilot에서 명령 `rm ./this-file.txt`를 실행하도록 허용해 달라고 요청했을 때 옵션 2를 선택하면, 이 세션이 현재 실행되는 동안 Copilot은 사용자의 승인을 구하지 않고도 모든 `rm` 명령(예: `rm -rf ./*`)을 실행할 수 있습니다.
**옵션 3**은 제안된 명령을 취소하고 Copilot에게 다른 접근 방식을 시도하도록 지시할 수 있게 합니다.
수동 승인 없이 도구를 사용할 수 있도록 허용
대화형 세션 또는 프로그래밍 방식 세션에서 Copilot가 사용자 승인 없이 사용할 수 있는 도구를 결정하기 위해 사용할 수 있는 명령줄 옵션은 세 가지입니다.
-
--allow-all-toolsCopilot이 사용자의 승인 없이 모든 도구를 사용할 수 있도록 허용합니다.
예를 들어, CLI를 프로그래밍 방식으로 호출할 때 이 옵션을 사용하여 Copilot가 모든 명령을 실행하도록 허용할 수 있습니다. 다음은 그 예입니다.
copilot -p "Revert the last commit" --allow-all-tools -
--deny-toolCopilot이 특정 도구를 사용하지 못하도록 합니다.
이 옵션은
--allow-all-tools및--allow-tool옵션보다 우선 적용됩니다. -
--allow-toolCopilot이 사용자의 승인 없이 특정 도구를 사용할 수 있도록 허용합니다.
승인 옵션 사용하기
`--deny-tool` 및 `--allow-tool` 옵션에는 다음 인수 중 하나가 필요합니다.
-
'shell(COMMAND)'예를 들어,
copilot --deny-tool 'shell(rm)'은 Copilot이rm명령을 사용하는 것을 방지합니다.`git` 및 `gh` 명령의 경우, 특정 1차 하위 명령을 지정하여 허용하거나 거부할 수 있습니다. 다음은 그 예입니다.copilot --deny-tool 'shell(git push)'도구 사양은 선택 사항입니다. 예를 들어,
copilot --allow-tool 'shell'은 Copilot이 개별 승인 없이 모든 셸 명령을 사용할 수 있도록 허용합니다. -
'write'이 인수는 셸 명령 이외의 도구에서 파일을 수정할 수 있는 권한을 허용하거나 거부합니다.
예를 들어,
copilot --allow-tool 'write'는 Copilot이 개별 승인 없이 파일을 편집할 수 있도록 허용합니다. -
'MCP_SERVER_NAME'이 인수는 지정된 MCP 서버의 도구를 허용하거나 거부합니다. 여기서
MCP_SERVER_NAME은 사용자가 구성한 MCP 서버의 이름입니다. 서버에서 제공하는 도구는 MCP 서버에 등록된 도구 이름을 사용하여 괄호로 지정됩니다. 도구를 지정하지 않고 서버 이름을 사용하면 해당 서버의 모든 도구를 허용하거나 거부할 수 있습니다.예를 들어,
copilot --deny-tool 'My-MCP-Server(tool_name)'는 Copilot이tool_name라는 MCP 서버에서 제공하는My-MCP-Server이라는 도구를 사용하지 못하도록 합니다.CLI의 대화형 인터페이스에 입력
/mcp한 다음, 표시되는 목록에서 서버를 선택하여 MCP 서버의 이름을 찾을 수 있습니다.
승인 옵션 결합하기
승인 옵션을 결합해 Copilot이 승인 없이 사용할 수 있는 도구를 정확하게 지정할 수 있습니다.
예를 들어, Copilot이 rm 및 git push 명령을 사용하지 못하도록 하면서 그 외 다른 모든 도구는 자동으로 허용하려면 다음을 사용합니다.
copilot --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)'
Copilot이 tool_name라는 MCP 서버의 도구 My-MCP-Server을 사용하지 못하도록 하지만, 해당 서버의 다른 모든 도구는 개별 승인 없이 사용할 수 있도록 하려면 다음을 사용하세요.
copilot --allow-tool 'My-MCP-Server' --deny-tool 'My-MCP-Server(tool_name)'
자동 도구 승인의 보안 영향
승인 명령줄 옵션 사용 시 보안에 미치는 영향을 알고 있어야 합니다. 이러한 옵션을 사용하면 Copilot이 요청을 완료하는 데 필요한 명령을 실행할 수 있으며, 실행되기 전에 해당 명령을 검토하고 승인할 기회를 제공하지 않습니다. 이렇게 하면 워크플로를 간소화하고 CLI를 헤드리스로 작동할 수 있도록 하지만 데이터 손실, 손상 또는 기타 보안 문제가 발생할 수 있는 의도하지 않은 작업이 수행될 ���험이 커집니다.
Copilot가 도구를 사용하려고 할 때 승인 프롬프트에 응답하거나, 명령줄 플래그로 권한을 지정하거나, (대화형 세션에서) /allow-all, /yolo와 같은 슬래시 명령을 사용하여 부조종사 CLI가 사용할 수 있는 도구를 제어할 수 있습니다.
GitHub Copilot CLI 구성을(를) 참조하세요.
위험 완화
엄격하게 제어된 권한 및 네트워크 액세스를 사용하여 제한된 환경(예: 가상 머신, 컨테이너 또는 전용 시스템)에서 부조종사 CLI를 실행하여 자동 승인 옵션 사용과 관련된 위험을 완화할 수 있습니다. 이는 사용자가 검토하고 유효성을 검사하지 않은 명령을 Copilot이 실행할 때 발생할 수 있는 잠재적 피해를 제한된 범위로 국한시킵니다.
알려진 MCP 서버 정책 제한 사항
부조종사 CLI는 현재 다음 조직 수준 MCP 서버 정책을 지원하지 않습니다.
-
**Copilot의 MCP 서버** – Copilot에서 MCP 서버를 전혀 사용할 수 있는지 여부를 제어합니다. -
**MCP 레지스트리 URL**, Copilot가 MCP 서버를 사용할 수 있는 MCP 레지스트리를 제어합니다.
이러한 정책에 대한 자세한 내용은 회사의 MCP 서버 사용량을 참조하세요.
모델 사용
GitHub Copilot 명령 줄 인터페이스 (CLI)에서 기본으로 사용하는 모델은 클로드 소넷 4.5입니다. GitHub는 이 모델을 변경할 수 있는 권한을 가집니다.
슬래시 명령 /model 또는 명령줄 옵션 --model을 사용하여 GitHub Copilot 명령 줄 인터페이스 (CLI)에서 사용하는 모델을 변경할 수 있습니다. 이 명령을 입력한 다음 목록에서 모델을 선택합니다.
부조종사 CLI의 대화형 인터페이스에서 Copilot에 프롬프트를 제출할 때마다, 그리고 부조종사 CLI를 프로그래밍 방식으로 사용할 때마다, 월간 Copilot 프리미엄 요청 할당량이 모델 목록의 괄호 안에 표시된 배수를 곱한 값만큼 1회 차감됩니다. 예를 들어 이 Claude Sonnet 4.5 (1x) 모델을 사용하면 프롬프트를 제출할 때마다 프리미엄 요청 할당량이 1씩 감소한다는 것을 나타냅니다. 프리미엄 요청에 관한 내용은 GitHub Copilot의 요청을(를) 참조하세요.
ACP를 통해 부조종사 CLI 사용
ACP(에이전트 클라이언트 프로토콜)는 AI 에이전트와 상호 작용하기 위한 개방형 표준입니다. 이를 통해 이 프로토콜을 지원하는 타사 도구, IDE 또는 자동화 시스템에서 부조종사 CLI을(를) 에이전트로 사용할 수 있습니다.
자세한 내용은 Copilot CLI ACP 서버을(를) 참조하세요.
피드백
GitHub Copilot 명령 줄 인터페이스 (CLI)에 대한 피드백이 있다면 대화형 세션에서 /feedback 슬래시 명령을 사용하여 옵션 중 하나를 선택하여 알려주세요. 프라이빗 피드백 설문 조사를 완료하거나 버그 보고서를 제출하거나 새 기능을 제안할 수 있습니다.
추가 읽기
-
[AUTOTITLE](/copilot/how-tos/set-up/install-copilot-cli) -
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli) -
[AUTOTITLE](/enterprise-cloud@latest/copilot/responsible-use/copilot-cli)