{"meta":{"title":"Программный запуск GitHub Copilot CLI","intro":"Используйте Copilot CLI в терминале, скриптах или в рабочих процессах Actions.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/copilot","title":"GitHub Copilot"},{"href":"/ru/copilot/how-tos","title":"Инструкции"},{"href":"/ru/copilot/how-tos/copilot-cli","title":"Copilot CLI"},{"href":"/ru/copilot/how-tos/copilot-cli/automate-copilot-cli","title":"Автоматизация с помощью CLI Copilot"},{"href":"/ru/copilot/how-tos/copilot-cli/automate-copilot-cli/run-cli-programmatically","title":"Запускайте CLI программно"}],"documentType":"article"},"body":"# Программный запуск GitHub Copilot CLI\n\nИспользуйте Copilot CLI в терминале, скриптах или в рабочих процессах Actions.\n\n## Введение\n\nВы можете передать запрос напрямую Copilot CLI в одной команде, не входя в интерактивную сессию. Это позволяет использовать Copilot CLI напрямую с терминала, а также позволяет использовать CLI программно в скриптах, CI/CD конвейерах и рабочих процессах автоматизации.\n\nЧтобы использовать Copilot CLI программно, можно сделать одно из следующих способов.\n\n* Используйте `copilot` команду с `-p` опцией «или `--prompt` » в командной строке, а затем введите свой запрос:\n\n  ```shell copy\n  copilot -p \"Explain this file: ./complex.ts\"\n  ```\n\n* Отправьте подсказку в команду `copilot` :\n\n  ```shell copy\n  echo \"Explain this file: ./complex.ts\" | copilot\n  ```\n\n  > \\[!NOTE]\n  > Трубопроводный ввод игнорируется, если вы также вводите подсказку с `-p` опцией или `--prompt` .\n\n## Советы по программному использованию Copilot CLI\n\n* **Предоставляйте точные подсказки** — чёткие, однозначные инструкции дают лучшие результаты, чем расплывчатые запросы. Чем больше контекста вы даёте — имена файлов, имя функций, точное изменение — тем меньше придётся догадаться Copilot .\n* **Цитируйте подсказки аккуратно** — используйте отдельные кавычки вокруг запроса, если хотите избежать оболочной интерпретации особых символов.\n* **Всегда предоставляйте минимальные права** — используйте `--allow-tool=[TOOLS...]` опции командной строки и `--allow-url=[URLs...]` предоставляйте Copilot разрешение использовать только инструменты и доступ, необходимые для выполнения задачи. Избегайте использования чрезмерно разрешительных вариантов (например `--allow-all`), если только вы не работаете в песочнице. Дополнительные сведения см. в разделе [Сведения об облачных и локальных песочницах для GitHub Copilot](/ru/copilot/concepts/about-cloud-and-local-sandboxes).\n* **Используйте `-s` (беззвучный)** при захвате выхода. Это подавляет метаданные сессии, поэтому вы получаете чистый текст.\n* **Использование `--no-ask-user`** чтобы агент не пытался задать уточняющие вопросы.\n* **Установите модель для**`--model` согласованного поведения в разных средах.\n\nСм. [GitHub Copilot CLI программный справочник](/ru/copilot/reference/copilot-cli-reference/cli-programmatic-reference) для опций, которые особенно полезны при программном запуске Copilot CLI .\n\n## Интеграция CI/CD\n\nРаспространённым случаем для программного запуска Copilot CLI является включение команды CLI в шаг рабочего процесса CI/CD.\n\nЭтот отрывок из рабочего GitHub Actions процесса показывает простой пример выполнения Copilot CLI команды.\n\n```yaml\n# Workflow step using Copilot CLI\n- name: Generate test coverage report\n  env:\n    COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}\n  run: |\n    copilot -p \"Run the test suite and produce a coverage summary\" \\\n      -s --allow-tool='shell(npm:*), write' --no-ask-user\n```\n\nДополнительные сведения см. в разделе [Автоматизация задач с помощью Copilot CLI и GitHub Actions](/ru/copilot/how-tos/copilot-cli/automate-copilot-cli/automate-with-actions).\n\n## Примеры программного использования\n\n### Сгенерировать сообщение для коммита\n\n```bash copy\ncopilot -p 'Write a commit message in plain text for the staged changes' -s \\\n  --allow-tool='shell(git:*)'\n```\n\n### Краткое описание файла\n\n```bash copy\ncopilot -p 'Summarize what src/auth/login.ts does in no more than 100 words' -s\n```\n\n### Пишите тесты для модуля\n\n```bash copy\ncopilot -p 'Write unit tests for src/utils/validators.ts' \\\n  --allow-tool='write, shell(npm:*), shell(npx:*)'\n```\n\n### Исправление ошибок lint\n\n```bash copy\ncopilot -p 'Fix all ESLint errors in this project' \\\n  --allow-tool='write, shell(npm:*), shell(npx:*), shell(git:*)'\n```\n\n### Объясните разницу\n\n```bash copy\ncopilot -p 'Explain the changes in the latest commit on this branch and flag any potential issues' -s\n```\n\n### Обзор кода ветви\n\nИспользуйте `/review` команду slash, чтобы встроенный `code-review` агент просматривал изменения кода на текущей ветке.\n\n```bash copy\ncopilot -p '/review the changes on this branch compared to main. Focus on bugs and security issues.' \\\n  -s --allow-tool='shell(git:*)'\n```\n\n### Создание документации\n\n```bash copy\ncopilot -p 'Generate JSDoc comments for all exported functions in src/api/' \\\n  --allow-tool=write\n```\n\n### Экспорт сессии\n\nСохраните полный транскрипт сессии в файле Markdown в локальной файловой системе.\n\n```bash copy\ncopilot -p \"Audit this project's dependencies for vulnerabilities\" \\\n  --allow-tool='shell(npm:*), shell(npx:*)' \\\n  --share='./audit-report.md'\n```\n\nСохраните расшифровку сессии в GitHub.com общем виде для удобства обмена.\n\n```bash copy\ncopilot -p 'Summarize the architecture of this project' --share-gist\n```\n\n> \\[!NOTE]\n> Общие характеристики недоступны для Enterprise Managed Users, или если вы используете GitHub Enterprise Cloud с data residecy (\\*.ghe.com).\n\n## Шаблоны скриптов оболочки\n\n### Захват Copilotвыхода в переменной\n\n```bash copy\nresult=$(copilot -p 'What version of Node.js does this project require? \\\n  Give the number only. No other text.' -s)\necho \"Required Node version: $result\"\n```\n\n### Использование в условной форме\n\n```bash copy\nif copilot -p 'Does this project have any TypeScript errors? Reply only YES or NO.' -s \\\n  | grep -qi \"no\"; then\n  echo \"No type errors found.\"\nelse\n  echo \"Type errors detected.\"\nfi\n```\n\n### Обработка нескольких файлов\n\n```bash copy\nfor file in src/api/*.ts; do\n  echo \"--- Reviewing $file ---\" | tee -a review-results.md\n  copilot -p \"Review $file for error handling issues\" -s --allow-all-tools | tee -a review-results.md\ndone\n```\n\n## Дополнительные материалы\n\n* [GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli)\n* [GitHub Copilot CLI программный справочник](/ru/copilot/reference/copilot-cli-reference/cli-programmatic-reference)\n* [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options)"}