Skip to main content

Программное запуск GitHub Copilot CLI

Используйте Copilot CLI в терминале, скриптах или в рабочих процессах Actions.

Введение

Вы можете отправить запрос напрямую в Copilot CLI одной командой, не входя в интерактивную сессию. Это позволяет использовать Copilot непосредственно с терминала, а также программно использовать CLI в скриптах, CI/CD конвейерах и автоматизационных процессах.

Чтобы использовать Copilot CLI программно, можно сделать одно из следующих способов.

  • Используйте copilot команду с -p опцией «или --prompt » в командной строке, а затем введите свой запрос:

    Shell
    copilot -p "Explain this file: ./complex.ts"
    
  • Отправьте подсказку в команду copilot :

    Shell
    echo "Explain this file: ./complex.ts" | copilot
    

    Примечание.

    Трубопроводный ввод игнорируется, если вы также вводите подсказку с -p опцией или --prompt .

Советы по программному использованию Copilot CLI

  •         **Предоставляйте точные подсказки** — чёткие, однозначные инструкции дают лучшие результаты, чем расплывчатые запросы. Чем больше контекста вы даёте — имена файлов, имя функций, точное изменение — тем меньше догадок Copilot.
    
  •         **Цитируйте подсказки аккуратно** — используйте отдельные кавычки вокруг запроса, если хотите избежать оболочной интерпретации особых символов.
    
  •         **Всегда предоставляйте минимальные права** — используйте `--allow-tool=[TOOLS...]` опции командной строки и `--allow-url=[URLs...]` предоставляйте Copilot разрешение использовать только инструменты и доступ, необходимые для выполнения задачи. Избегайте использования чрезмерно разрешительных вариантов (например `--allow-all`), если только вы не работаете в песочнице.
    
  •         **Используйте `-s` (беззвучный)** при захвате выхода. Это подавляет метаданные сессии, поэтому вы получаете чистый текст.
    
  •         **Использование `--no-ask-user`** чтобы агент не пытался задать уточняющие вопросы.
    
  •         **Установите модель для**`--model` согласованного поведения в разных средах.
    

См. Программный справочник GitHub Copilot CLI для опций, которые особенно полезны при программном запуске Copilot CLI.

Интеграция CI/CD

Распространённый сценарий для программного запуска показывает простой пример запуска команды Copilot CLI.

# Workflow step using Copilot CLI
- name: Generate test coverage report
  env:
    COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
  run: |
    copilot -p "Run the test suite and produce a coverage summary" \
      -s --allow-tool='shell(npm:*), write' --no-ask-user

Дополнительные сведения см. в разделе Автоматизация задач с помощью Copilot CLI и GitHub Actions.

Примеры программного использования

Сгенерировать сообщение для коммита

Bash
copilot -p 'Write a commit message in plain text for the staged changes' -s \
  --allow-tool='shell(git:*)'

Краткое описание файла

Bash
copilot -p 'Summarize what src/auth/login.ts does in no more than 100 words' -s

Пишите тесты для модуля

Bash
copilot -p 'Write unit tests for src/utils/validators.ts' \
  --allow-tool='write, shell(npm:*), shell(npx:*)'

Исправление ошибок lint

Bash
copilot -p 'Fix all ESLint errors in this project' \
  --allow-tool='write, shell(npm:*), shell(npx:*), shell(git:*)'

Объясните разницу

Bash
copilot -p 'Explain the changes in the latest commit on this branch and flag any potential issues' -s

Обзор кода ветви

Используйте /review команду slash, чтобы встроенный code-review агент просматривал изменения кода на текущей ветке.

Bash
copilot -p '/review the changes on this branch compared to main. Focus on bugs and security issues.' \
  -s --allow-tool='shell(git:*)'

Создание документации

Bash
copilot -p 'Generate JSDoc comments for all exported functions in src/api/' \
  --allow-tool=write

Экспорт сессии

Сохраните полный транскрипт сессии в файле Markdown в локальной файловой системе.

Bash
copilot -p "Audit this project's dependencies for vulnerabilities" \
  --allow-tool='shell(npm:*), shell(npx:*)' \
  --share='./audit-report.md'

Сохраните расшифровку сессии в виде основы на GitHub.com для удобства обмена.

Bash
copilot -p 'Summarize the architecture of this project' --share-gist

Примечание.

Основные характеристики недоступны для Enterprise Managed Users или если вы используете GitHub Enterprise Cloud с data residecy (*.ghe.com).

Шаблоны скриптов оболочки

Захватить выход Copilot в переменной

Bash
result=$(copilot -p 'What version of Node.js does this project require? \
  Give the number only. No other text.' -s)
echo "Required Node version: $result"

Использование в условной форме

Bash
if copilot -p 'Does this project have any TypeScript errors? Reply only YES or NO.' -s \
  | grep -qi "no"; then
  echo "No type errors found."
else
  echo "Type errors detected."
fi

Обработка нескольких файлов

Bash
for file in src/api/*.ts; do
  echo "--- Reviewing $file ---" | tee -a review-results.md
  copilot -p "Review $file for error handling issues" -s --allow-all-tools | tee -a review-results.md
done

Дополнительные материалы

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-programmatic-reference)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options)