Skip to main content

GitHub Copilot CLI에 대한 모범 사례

          GitHub Copilot CLI를 최대한 활용하는 방법을 알아봅니다.

소개

          GitHub Copilot CLI 는 명령줄에 에이전트 기능을 직접 제공하는 터미널 네이티브 AI 코딩 도우미입니다. 
          Copilot CLI 는 챗봇처럼 작동하여 질문에 답변할 수 있지만, 진정한 힘은 코딩 파트너로서 자율적으로 작업할 수 있는 능력에 있으며, 이를 통해 작업을 위임하고 작업을 감독할 수 있습니다.

이 문서에서는 다양한 CLI 명령을 효과적으로 사용하는 것부터 파일에 대한 CLI의 Copilot CLI액세스를 관리하는 것까지 최대한 활용하기 위한 팁을 제공합니다. 이러한 팁을 시작점으로 고려한 다음, 실험하여 워크플로에 가장 적합한 것이 무엇인지 알아보세요.

참고

          GitHub Copilot CLI 는 지속적으로 진화하고 있습니다. 명령을 `/help` 사용하여 최신 정보를 확인합니다.

1. 사용자 환경 사용자 지정

사용자 지정 지침 파일 사용

          Copilot CLI 는 여러 위치에서 자동으로 지침을 읽어 조직 전체 표준 및 리포지토리 관련 규칙을 정의할 수 있도록 합니다.

          **지원되는 위치(검색 순서):**
위치Scope
~/.copilot/copilot-instructions.md모든 세션(전역)
.github/copilot-instructions.md저장소
.github/instructions/**/*.instructions.md리포지토리(모듈식)
          `AGENTS.md` (Git 루트 또는 cwd)            | 저장소            |

| Copilot.md, GEMINI.md, CODEX.md | 저장소 |

모범 사례

리포지토리 지침은 항상 전역 지침 보다 우선 합니다. 이를 사용하여 팀 규칙을 적용합니다. 예를 들어 간단한 .github/copilot-instructions.md 파일입니다.

## Build Commands
- `npm run build` - Build the project
- `npm run test` - Run all tests
- `npm run lint:fix` - Fix linting issues

## Code Style
- Use TypeScript strict mode
- Prefer functional components over class components
- Always add JSDoc comments for public APIs

## Workflow
- Run `npm run lint:fix && npm test` after making changes
- Commit messages follow conventional commits format
- Create feature branches from `main`

지침을 간결하고 실행 가능한 상태로 유지합니다. 긴 지침은 효과를 희석시킬 수 있습니다.

자세한 내용은 GitHub Copilot 응답을 사용자 지정하는 방법에 대한 정보을(를) 참조하세요.

허용된 도구 구성

사용 권한을 요청하지 않고 실행할 수 있는 도구를 Copilot 관리합니다. Copilot 작업에 대한 권한을 요청하는 경우 일반적으로 이 시간만 허용하거나 나머지 CLI 세션에 도구를 사용하도록 허용할 수 있습니다.

이전에 승인된 도구를 다시 설정하려면 다음을 사용합니다.

/reset-allowed-tools

CLI 플래그를 통해 허용된 도구를 미리 구성할 수도 있습니다.

copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'
          **일반적인 사용 권한 패턴:**

* shell(git:*) — 모든 Git 명령 허용 * shell(npm run:*) — 모든 npm 스크립트 허용 * shell(npm run test:*) — npm 테스트 명령 허용 * write — 파일 쓰기 허용

선호하는 모델 선택

작업 복잡성에 따라 사용 가능한 모델 중에서 선택하는 데 사용합니다 /model .

Model적합한 대상장단점
          **Claude Opus 4.5** (기본값) | 복잡한 아키텍처, 어려운 디버깅, 미묘한 리팩터링 | 가장 가능하지만 더 많은 [프리미엄 요청을 사용합니다.](/copilot/concepts/billing/copilot-requests#model-multipliers) |

| 클로드 소넷 4.5 | 일상적인 코딩, 대부분의 일상적인 작업 | 빠르고 비용 효율적이면 대부분의 작업을 잘 처리합니다. | | GPT-5.2 Codex | 코드 생성, 코드 검토, 간단한 구현 | 다른 모델에서 생성한 코드를 검토하는 데 적합합니다. |

          **권장 사항**:

* Opus 4.5 는 심층적인 추론, 복잡한 시스템 디자인, 미묘한 버그 조사 또는 광범위한 컨텍스트 이해가 필요한 작업에 적합합니다.

  • 속도와 비용 효율성이 중요한 일상적인 작업을 위해 Sonnet 4.5로 전환하면 대부분의 일상적인 코딩을 효과적으로 처리합니다.
  • 대용량 코드 생성에 Codex를 사용하고 다른 모델에서 생성된 코드를 검토하기 위한 두 번째 의견으로 사용합니다.

작업 복잡성이 변경되면 세션 /model 중간에 모델을 전환할 수 있습니다.

조직 또는 엔터프라이즈에서 자체 LLM 공급자 API 키를 사용하여 사용자 지정 모델을 구성한 경우 해당 모델도 목록 맨 아래에 표시됩니다 /model .

사용자 고유의 모델 공급자 사용

사용자 고유의 모델 공급자를 사용하도록 Copilot CLI를 구성하고 GitHub에서 호스팅된 모델 대신 사용할 수 있습니다. copilot help providers 명령을 실행하여 전체 설치 지침을 확인하십시오.

          **주요 고려 사항:**
  • 모델은 도구 호출 (함수 호출) 및 스트리밍을 지원해야 합니다. Copilot CLI 는 두 기능 중 하나가 누락된 경우 오류를 반환합니다.
  • 최상의 결과를 얻으려면 컨텍스트 창이 128k 이상인 모델을 사용합니다.
  • 기본 제공 하위 에이전트(/review, /task탐색, /fleet)는 공급자 구성을 자동으로 상속합니다.
  • 프리미엄 요청 비용 예측은 사용자 고유의 공급자를 사용할 때 숨겨집니다. 토큰 사용량(입력, 출력 및 캐시 수)은 여전히 표시됩니다.
  •         `/delegate` 는 GitHub 에도 로그인한 경우에서만 작동합니다. 공급자가 아닌 서버 쪽GitHub으로 세션을 Copilot전송합니다.
    
            [사용자 고유의 모델 공급자 사용을 참조하세요](/copilot/concepts/agents/copilot-cli/about-copilot-cli#using-your-own-model-provider).
    

2. 코딩하기 전에 계획

계획 모드

          **모델은 따라야 할 구체적인 계획을 제시할 때 더 높은 성공률을 달성합니다.** 계획 모드 Copilot 에서는 코드를 작성하기 전에 구조화된 구현 계획을 만듭니다.

          <kbd>Shift</kbd>+<kbd>Tab</kbd>을 눌러 표준 모드와 계획 모드 간에 전환합니다. 계획 모드에서 입력한 모든 프롬프트가 계획 워크플로를 트리거합니다.

또는 일반 모드에서 /plan 명령을 사용하여 동일한 효과를 얻을 수 있습니다.

          **예제 프롬프트(기본 모드에서):**
/plan Add OAuth2 authentication with Google and GitHub providers
          **어떻게 되나요?**

* Copilot 는 요청 및 코드베이스를 분석합니다.

  • 요구 사항 및 접근 방식에 맞게 명확한 질문을 합니다.

  • 확인란을 사용하여 구조화된 구현 계획을 만듭니다.

  • 세션 폴더의 plan.md에 계획을 저장합니다.

  • 구현하기 전에 승인을 기다립니다.

            <kbd>Ctrl</kbd>+<kbd>y</kbd>를 눌러 Markdown 파일에 대한 기본 편집기에서 계획을 보고 편집할 수 있습니다.
    
            **예제 계획 출력:**
    
# Implementation Plan: OAuth2 Authentication

## Overview
Add social authentication using OAuth2 with Google and GitHub providers.

## Tasks
- [ ] Install dependencies (passport, passport-google-oauth20, passport-github2)
- [ ] Create authentication routes in `/api/auth`
- [ ] Implement passport strategies for each provider
- [ ] Add session management middleware
- [ ] Create login/logout UI components
- [ ] Add environment variables for OAuth credentials
- [ ] Write integration tests

## Detailed Steps
1. **Dependencies**: Add to package.json...
2. **Routes**: Create `/api/auth/google` and `/api/auth/github`...

계획 모드를 사용하는 경우

Scenario계획 모드를 사용하시겠습니까?
복잡한 다중 파일 변경
다양한 접점으로 리팩터링
새 기능 구현
빠른 버그 수정
단일 파일 변경

탐색 → 계획 → 코드 → 커밋 워크플로

복잡한 작업에 대한 최상의 결과를 위해 다음을 수행합니다.

  •         **탐색**:
    

    Read the authentication files but don't write code yet

  •         **계획**:
    

    /plan Implement password reset flow

  •         **검토**:
    

    계획 확인, 수정 제안

  •         **구현**:
    

    Proceed with the plan

  •         **검증**:
    

    Run the tests and fix any failures

  •         **커밋**:
    

    Commit these changes with a descriptive message

3. 무한 세션 활용

자동 컨텍스트 창 관리

          Copilot CLI 에는 **무한 세션이 있습니다**. 컨텍스트가 부족한 것에 대해 걱정할 필요가 없습니다. 시스템은 필수 정보를 유지하면서 대화 기록을 요약하는 지능형 압축을 통해 컨텍스트를 자동으로 관리합니다.

          **세션 스토리지 위치:**
~/.copilot/session-state/{session-id}/
├── events.jsonl      # Full session history
├── workspace.yaml    # Metadata
├── plan.md           # Implementation plan (if created)
├── checkpoints/      # Compaction history
└── files/            # Persistent artifacts

참고

압축을 수동으로 트리거해야 하는 경우 /compact을 사용하십시오. 시스템에서 자동으로 처리하기 때문에 이 작업은 거의 필요하지 않습니다.

세션 관리 명령

현재 CLI 세션에 대한 정보를 보려면 다음을 입력합니다.

/session

세션 검사점 목록을 보려면 다음을 입력합니다.

/session checkpoints

참고

세션 컨텍스트가 압축될 때 검사점이 만들어지고 생성된 요약 컨텍스트 Copilot 를 볼 수 있습니다.

특정 검사점의 세부 정보를 보려면 다음을 입력합니다.

/session checkpoints NUMBER

여기서 NUMBER는 표시할 검사점을 지정합니다.

현재 세션 중에 만들어진 임시 파일을 보려면(예: 해당 세션에서 만든 아티팩트는 리포지토리에 Copilot 저장해서는 안 됨) 다음을 입력합니다.

/session files

현재 계획(Copilot 생성된 경우)을 보려면 다음을 입력합니다.

/session plan

모범 사례: 세션 집중 유지

무한 세션은 장기 실행 작업을 허용하지만 포커스가 있는 세션은 더 나은 결과를 생성합니다.

  • 관련 없는 작업 사이에 /clear 또는 /new를 사용합니다.
  • 그러면 컨텍스트가 다시 설정되고 응답 품질이 향상됩니다.
  • 동료와 새로운 대화를 시작하는 것처럼 생각하십시오.

          `/context` 명령

          `/context`를 사용하여 현재 컨텍스트 사용량을 시각화하십시오. 다음 항목에 대한 세부내역이 표시됩니다.
  • 시스템/도구 토큰
  • 메시지 기록 토큰
  • 사용 가능한 공간
  • 버퍼 할당

4. 효과적으로 작업 위임

          `/delegate` 명령

          **를 사용하여 Copilot 클라우드 에이전트클라우드에서 실행되도록 작업 오프로드** 이는 특히 다음과 같은 경우에 유용합니다.
  • 비동기적으로 실행할 수 있는 작업입니다.

  • 다른 리포지토리에 대한 변경 사항.

  • 대기하기 싫은 장기 실행 작업입니다.

            **프롬프트 예시:**
    
/delegate Add dark mode support to the settings page
          **어떻게 되나요?**
  • 요청이 Copilot 클라우드 에이전트으로 전송됩니다.
  • 에이전트는 변경 내용이 포함된 끌어오기 요청을 만듭니다.
  • 클라우드 에이전트가 작동하는 동안 로컬에서 작업을 계속할 수 있습니다.

          `/delegate`를 사용하는 경우

| /delegate 사용 | 로컬로 작업 | |------------------------------|-------------------------| | 부수적인 업무 | 핵심 기능 작업 | | 설명서 업데이트 | 디버깅 | | 별도의 모듈 리팩터링 | 대화형 탐색 |

5. 일반적인 워크플로

코드베이스 온보딩

새 프로젝트에 참여할 때 페어 프로그래밍 파트너로 사용하려면 Copilot CLI을(를) 사용하세요. 예를 들어 Copilot 다음을 요청할 수 있습니다.

  • How is logging configured in this project?
  • What's the pattern for adding a new API endpoint?
  • Explain the authentication flow
  • Where are the database migrations?

테스트 중심 개발

테스트를 개발하기 위해 Copilot CLI와 짝을 이룹니다.

  • Write failing tests for the user registration flow
  •         *테스트를 검토하고 승인합니다.*
    
  • Now implement code to make all tests pass
  •         *구현을 검토합니다.*
    
  • Commit with message "feat: add user registration"

코드 검토 지원

  • /review Use Opus 4.5 and Codex 5.2 to review the changes in my current branch against `main`. Focus on potential bugs and security issues.

Git 작업

          Copilot는 Git 워크플로에서 뛰어납니다.
  • What changes went into version `2.3.0`?
  • Create a PR for this branch with a detailed description
  • Rebase this branch against `main`
  • Resolve the merge conflicts in `package.json`

버그 조사

  • The `/api/users` endpoint returns 500 errors intermittently. Search the codebase and logs to identify the root cause.

리팩터링

  • /plan Migrate all class components to functional components with hooks

    그런 다음 Copilot이(가) 묻는 질문에 대답하세요. 만든 계획을 검토하고 필요한 경우 변경하도록 요청 Copilot 합니다. 계획에 만족하면 다음을 프롬프트할 수 있습니다. Implement this plan

6. 고급 패턴

여러 리포지토리에서 작업

는 마이크로 서비스, 모노레포지토리 또는 관련 프로젝트에서 작업하는 팀의 주요 차별화 요소인 유연한 다중 리포지토리 워크플로를 제공합니다.Copilot CLI

          **옵션 1: 부모 디렉터리에서 실행**
# Navigate to a parent directory containing multiple repos
cd ~/projects
copilot
          Copilot 이제 모든 자식 리포지토리에 동시에 액세스하고 작업할 수 있습니다. 이는 다음을 위해 적합합니다.
  • 마이크로 서비스 아키텍처

  • 관련 저장소들에서 조정된 변경 사항

  • 여러 프로젝트에서 공유 패턴 리팩터링

            **옵션 2: 액세스를 확장하는 데 사용 `/add-dir`**
    
# Start in one repo, then add others (requires full paths)
copilot
/add-dir /Users/me/projects/backend-service
/add-dir /Users/me/projects/shared-libs
/add-dir /Users/me/projects/documentation
          **허용되는 디렉터리 보기 및 관리:**
/list-dirs
          **워크플로 예제: 조정된 API 변경 내용**
I need to update the user authentication API. The changes span:

- @/Users/me/projects/api-gateway (routing changes)
- @/Users/me/projects/auth-service (core logic)
- @/Users/me/projects/frontend (client updates)

Start by showing me the current auth flow across all three repos.

이 다중 리포지토리 기능을 사용하면 다음을 수행할 수 있습니다.

  • 횡단적인 리팩터 (공유 패턴을 모든 곳에서 업데이트)
  • 클라이언트 업데이트를 사용하여 API 계약 변경
  • 여러 코드베이스를 참조하는 설명서
  • 모노레포 전체의 종속성 업그레이드

UI 작업에 이미지 사용

          Copilot 는 시각적 참조로 작동할 수 있습니다. 이미지를 CLI 입력으로 직접 **끌어서 놓** 거나 이미지 파일을 참조하기만 하면됩니다.
Implement this design: @mockup.png
Match the layout and spacing exactly

복잡한 마이그레이션에 대한 검사 목록

대규모 변경의 경우:

Run the linter and write all errors to `migration-checklist.md` as a checklist.
Then fix each issue one by one, checking them off as you go.

자율 작업 완료

작업이 완료될 때까지 Copilot가 자율적으로 작업할 수 있도록 자동 조종 모드로 설정합니다. 이는 지속적인 감독을 필요로 하지 않는 장기 실행 작업에 적합합니다. 자세한 내용은 GitHub Copilot CLI가 자율적으로 작동하도록 허용을(를) 참조하세요.

선택적으로, 프롬프트 시작 시 슬래시 명령을 사용하면 /fleet이(가) 작업을 서브에이전트가 실행하는 병렬 하위 작업으로 분할하여 Copilot 대규모 작업의 속도를 높일 수 있습니다. 자세한 내용은 `/fleet` 명령어를 사용하여 작업을 병렬로 실행을(를) 참조하세요.

7. 팀 지침

  •         **만들 `.github/copilot-instructions.md`** with:
    
    • 명령 빌드 및 테스트
    • 코드 스타일 지침
    • 커밋 전에 필요한 검사
    • 아키텍처 결정
  •         **다음 사항에 대한 규칙을 설정합니다.**
    
    • 언제 /plan을 사용해야 하는지 (복잡한 기능, 리팩터링)
    •       `/delegate`(탄젠트 작업)을 언제 사용할지
      
    • AI 지원을 사용하여 코드 검토 프로세스

보안 고려 사항

  •         Copilot CLI 에는 잠재적으로 파괴적인 작업에 대한 명시적 승인이 필요합니다.
    
  • 수락하기 전에 제안된 모든 변경 내용을 검토합니다.
  • 사용 권한 허용 목록을 신중하게 사용합니다.
  • 비밀을 커밋하지 마세요. Copilot 는 이 문제를 방지하도록 설계되었지만 항상 확인합니다.

생산성 측정

다음과 같은 메트릭 추적:

  • 문제에서 끌어오기 요청까지의 시간
  • 병합 전 반복 횟수
  • 코드 검토 피드백 주기
  • 테스트 범위 개선

도움 받기

명령줄에서 다음 명령을 copilot -h사용하여 도움말을 표시할 수 있습니다.

다양한 항목에 대한 도움말은 다음을 입력합니다.

copilot help TOPIC

where TOPIC 는 다음 중 하나일 수 있습니다. config``commands``environment``logging``permissions

CLI 내에서

CLI 내에서 도움말을 보려면 다음을 입력합니다.

/help

사용 통계를 보려면 다음을 입력합니다.

/usage

비공개 피드백을 GitHubCopilot CLI제출하거나 버그 보고서를 작성하거나 기능 요청을 제출하려면 다음을 입력합니다.

/feedback

실습

애플리케이션을 Copilot CLI로 빌드하는 실용적인 경험을 위해 스킬 연습 Copilot CLI을 시도해 보세요.

학습할 내용은 다음과 같습니다. * Copilot CLI 설치

  • 문제 템플릿을 사용하여 문제 만들기
  • Node.js CLI 계산기 앱 생성
  • 계산기 기능 확장
  • 계산기 함수에 대한 단위 테스트 작성
  • 끌어오기 요청 만들기, 검토 및 병합

추가 읽기

  •         [AUTOTITLE](/copilot/concepts/agents/about-copilot-cli)
    
  •         [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference)
    
  •         [
            Copilot 요금제 및 가격 책정](https://github.com/features/copilot/plans)