{"meta":{"title":"GitHub Copilot 앱 대한 리포지토리 구성","intro":"에 대한 리포지토리별 지침, 스크립트 및 자동화 동작을 GitHub Copilot app정의합니다.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ko/enterprise-cloud@latest/copilot","title":"GitHub Copilot"},{"href":"/ko/enterprise-cloud@latest/copilot/reference","title":"참조"},{"href":"/ko/enterprise-cloud@latest/copilot/reference/github-copilot-app-reference","title":"GitHub Copilot app 참조"},{"href":"/ko/enterprise-cloud@latest/copilot/reference/github-copilot-app-reference/repository-configuration","title":"리포지토리 구성"}],"documentType":"article"},"body":"# GitHub Copilot 앱 대한 리포지토리 구성\n\n에 대한 리포지토리별 지침, 스크립트 및 자동화 동작을 GitHub Copilot app정의합니다.\n\n`.github/github-app.yml` 리포지토리에서 해당 프로젝트에 대해 동작하는 방법을 GitHub Copilot app 정의할 수 있습니다.\n\n앱 UI에서 이러한 프로젝트 설정을 편집할 수도 있습니다. 이미 있는 경우 `.github/github-app.yml` UI 변경 내용이 해당 파일에 다시 기록됩니다. 아직 존재하지 않는 경우 앱의 현재 프로젝트 설정에서 만들 수 있습니다.\n\n## 구성 파일 위치 정보\n\n다음 위치에서 파일을 만듭니다.\n\n```text copy\n.github/github-app.yml\n```\n\n앱은 이전 버전과의 호환성을 위해 레거시 파일 이름 `.github/copilot-desktop.yml` 도 지원합니다.\n\nUI 기반 사용자 지정 단계는 [GitHub Copilot 앱 사용자 지정](/ko/enterprise-cloud@latest/copilot/how-tos/github-copilot-app/customize-github-copilot-app)을 참조하세요.\n\n## 구성 검토 및 신뢰\n\n앱이 리포지토리에서 구성을 검색하는 경우 구성을 검토하고 수락할 때까지 파일의 리포지토리 지침, 스크립트 또는 기타 설정을 적용하지 않습니다. 이렇게 하면 명령을 실행하거나 다른 참가자가 추가한 설정을 적용할 수 없습니다. 앱 UI를 통해 만들거나 업데이트하는 구성은 자동으로 신뢰할 수 있습니다.\n\n> \\[!WARNING]\n> 리포지토리 구성을 수락하기 전에 구성된 모든 명령과 실행되는 종속성을 검토합니다. 스크립트와 해당 자식 프로세스는 이 문서의 뒷부분에 GitHub 설명된 자격 증명을 수신하므로 이러한 환경 변수를 기록하거나 유지하도록 구성하지 않습니다.\n\n공백 또는 메모 변경 내용을 포함하여 파일이 앱 외부에서 변경되는 경우 앱이 적용되기 전에 업데이트된 구성을 검토하고 수락해야 합니다. 현재 버전을 수락할 때까지 앱은 이전에 앱에서 구성한 프로젝트 설정을 계속 사용합니다.\n\n## 구성 예\n\n```yaml copy\ninstructions: |\n  Use bun instead of npm.\n\nscripts:\n  - name: Setup\n    command: bun install\n    triggers:\n      - session.create\n  - name: Run\n    command: bun run dev\n  - name: Archive cleanup\n    command: rm -rf node_modules\n    triggers:\n      - session.archive\n\nserver_ready_pattern: '(?i)Local:\\s+(https?://\\S+)'\nauto_open_in_browser: true\n\nautomation:\n  auto_issue_session: true\n  remote_control: false\n```\n\n## 지침 및 스크립트 구성\n\n### `instructions`\n\n리포지토리 관련 지침을 프로젝트의 세션에 대한 시스템 프롬프트에 추가하는 데 사용합니다 `instructions` . 또한 앱에서 전역 지침을 구성하는 경우 전역 지침이 먼저 적용된 다음 프로젝트 지침이 적용됩니다.\n\n### `scripts`\n\n앱에 표시되고 수동으로 또는 특정 트리거에서 실행할 수 있는 명령을 정의하는 데 사용합니다 `scripts` .\n\n각 스크립트 항목은 다음을 지원합니다.\n\n* `name` (`string`): UI에 표시 이름입니다.\n* `command` (`string`): 실행할 명령입니다.\n* `triggers` (`string[]`선택 사항): 스크립트를 자동으로 실행하는 이벤트입니다.\n\n없는 `triggers` 스크립트는 수동입니다.\n\n### 트리거 값\n\n파일에서 정식 트리거 값을 사용합니다.\n\n* `session.create`\n* `session.archive`\n\n또한 앱은 기존 파일을 구문 분석할 때 다음과 같은 레거시 별칭을 허용합니다.\n\n* `workspace.create` (별칭: `session.create`)\n* `workspace.archive` (별칭: `session.archive`)\n\n트리거된 스크립트가 실행 `COPILOT_SCRIPT_TRIGGER` 되면 정식 값으로 설정됩니다.\n\n* `session.create`\n* `session.archive`\n\n## 서버 검색 및 브라우저 동작 구성\n\n### `server_ready_pattern`\n\n`server_ready_pattern` 는 실행 스크립트가 서버를 시작한 시기를 감지하는 데 사용되는 정규식입니다.\n\n패턴은 Rust `regex` 의 상자에서 지원하는 구문을 사용합니다. 구문 세부 정보는 상자 설명서 [의 구문을](https://docs.rs/regex/1/regex/#syntax) 참조하세요. 패턴이 잘못된 경우 앱은 기본 서버 검색 패턴을 사용합니다.\n\n검색된 URL 또는 포트에 첫 번째 캡처 그룹을 사용합니다. 앱은 캡처 그룹을 `1`읽습니다.\n\n* 캡처가 URL(`http://...` 또는 `https://...`)인 경우 URL이 사용됩니다.\n* 캡처가 포트 번호(예 `3000`: )인 경우 앱은 이를 `http://localhost:3000`.로 변환합니다.\n\n### `auto_open_in_browser`\n\n이 `auto_open_in_browser`경우 `true` 앱은 통합 브라우저에서 검색된 실행 URL을 엽니다. 이 필드를 생략하면 유효 기본값은 .입니다 `true`.\n\n## 자동화 동작 구성\n\n다음에서 자동화 옵션을 설정합니다.`automation`\n\n* `automation.auto_issue_session` (`boolean`) 앱이 문제 컨텍스트를 사용하여 세션을 자동으로 시작하는지 여부를 제어합니다. 생략하면 유효 기본값은 .입니다 `true`.\n* `automation.remote_control`(`boolean`) 웹 인터페이스GitHub에서 GitHub Mobile 세션에 액세스할 수 있는지 여부를 제어합니다. 생략하면 유효 기본값은 .입니다 `false`.\n\nCopilot 사용자 자리가 조직에서 제공된 경우 원격 제어를 사용할 수 있도록 해당 \"클라우드에 로컬 세션 저장\" 정책을 \"보기 및 제어\"로 설정해야 합니다. 엔터프라이즈 관리 `remoteControl` 설정은 있는 경우에도 `automation.remote_control` 원격 제어를 추가로 제한할 수 있습니다 `true`. 자세한 내용은 [GitHub Copilot CLI 세션의 원격 제어에 대한 정보](/ko/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli/about-remote-control) 및 [엔터프라이즈 관리 설정](/ko/enterprise-cloud@latest/copilot/reference/enterprise-administrators/enterprise-managed-settings)을(를) 참조하세요.\n\n## 스크립트에 대한 런타임 환경 변수\n\n스크립트는 앱에서 제공하는 환경 변수를 사용하여 실행됩니다.\n\n| Variable                 | Description                                  |\n| ------------------------ | -------------------------------------------- |\n| `COPILOT_WORKSPACE_NAME` | 현재 작업 영역 이름입니다.                              |\n| `COPILOT_WORKSPACE_PATH` | 작업 영역의 절대 경로입니다.                             |\n| `COPILOT_ROOT_PATH`      | 프로젝트 루트 체크 아웃의 절대 경로입니다.                     |\n| `COPILOT_DEFAULT_BRANCH` | 기본 분기를 Project.                              |\n| `COPILOT_PORT`           | 현재 작업 영역 컨텍스트에 대한 App WebSocket 포트입니다.       |\n| `COPILOT_SCRIPT_TRIGGER` | 스크립트를 시작한 트리거(트리거된 스크립트에 대해서만 설정됨).          |\n| `GH_TOKEN`               | 선택한 GitHub 계정에 대한 토큰입니다.                     |\n| `GH_HOST`                | 선택한 GitHub 계정의 호스트입니다.                       |\n| `COPILOT_GH_ACCOUNT_*`   | 선택한 계정을 포함하여 로그인한 모든 계정에 대한 호스트 및 계정별 토큰입니다. |\n\n각 `COPILOT_GH_ACCOUNT_*` 변수에 대해 앱은 호스트 및 로그인을 소문자로 만들고, ASCII 문자와 숫자를 변경하지 않고, 다른 모든 UTF-8 바이트를 밑줄로 둘러싸인 대문자 16진수 값으로 바꿉니다. 변수 이름은 형식 `COPILOT_GH_ACCOUNT_<HOST>_<LOGIN>`을 사용합니다. 예를 들어 on에 대한 `alice` 토큰은 `github.com`이며 on에 대한 `COPILOT_GH_ACCOUNT_github_2E_com_alice``user` 토큰은 .입니다`ghe-example.com`.`COPILOT_GH_ACCOUNT_ghe_2D_example_2E_com_user`\n\n## 레거시 호환성\n\n이전 버전과의 호환성을 위해 앱은 이전 개체 기반 `scripts` 셰이프를 구문 분석할 수 있습니다.\n\n```yaml copy\nscripts:\n  setup: bun install\n  run: bun run dev\n  archive: rm -rf node_modules\n```\n\n이 레거시 셰이프에서:\n\n* `setup` 는 만들기 트리거를 사용하여 스크립트에 매핑합니다.\n* `archive` 는 보관 트리거를 사용하여 스크립트에 매핑합니다.\n* `run` 는 수동 스크립트 항목에 매핑되며 단일 명령 문자열 또는 개체 목록 `{ name, command }` 일 수 있습니다."}