{"meta":{"title":"Programmatisches Ausführen GitHub Copilot CLI","intro":"Verwenden Sie Copilot CLI im Terminal, in Skripts oder in Aktionsworkflows.","product":"GitHub Copilot","breadcrumbs":[{"href":"/de/copilot","title":"GitHub Copilot"},{"href":"/de/copilot/how-tos","title":"Vorgehensweisen"},{"href":"/de/copilot/how-tos/copilot-cli","title":"Copilot CLI"},{"href":"/de/copilot/how-tos/copilot-cli/automate-copilot-cli","title":"Automatisieren mit Copilot CLI"},{"href":"/de/copilot/how-tos/copilot-cli/automate-copilot-cli/run-cli-programmatically","title":"Programmgesteuertes Ausführen der CLI"}],"documentType":"article"},"body":"# Programmatisches Ausführen GitHub Copilot CLI\n\nVerwenden Sie Copilot CLI im Terminal, in Skripts oder in Aktionsworkflows.\n\n## Einführung\n\nSie können eine Eingabeaufforderung direkt in einem einzigen Befehl an Copilot CLI übergeben, ohne eine interaktive Sitzung zu starten. Dies ermöglicht es Ihnen, Copilot direkt vom Terminal aus zu nutzen und die CLI programmgesteuert in Skripten, CI/CD-Pipelines und Automatisierungsworkflows einzusetzen.\n\nUm programmgesteuert zu verwenden Copilot CLI , können Sie eine der folgenden Aktionen ausführen:\n\n* Verwenden Sie den `copilot` Befehl mit der `-p` oder `--prompt` Befehlszeilenoption, gefolgt von Ihrer Eingabeaufforderung.\n\n  ```shell copy\n  copilot -p \"Explain this file: ./complex.ts\"\n  ```\n\n* Leiten Sie eine Eingabeaufforderung an den `copilot`-Befehl weiter:\n\n  ```shell copy\n  echo \"Explain this file: ./complex.ts\" | copilot\n  ```\n\n  > \\[!NOTE]\n  > Piped Input wird ignoriert, wenn du auch einen Prompt mit der Option `-p` oder `--prompt` angibst.\n\n## Tipps zur programmgesteuerten Nutzung von Copilot CLI\n\n* **Geben Sie präzise Eingabeaufforderungen an –** klare, eindeutige Anweisungen liefern bessere Ergebnisse als vage Anfragen. Je mehr Kontext Sie geben – Dateinamen, Funktionsnamen, die genaue Änderung – desto weniger muss Copilot raten.\n* **Schreibe Prompts sorgfältig in Anführungszeichen** – verwende einfache Anführungszeichen um deinen Prompt herum, wenn du die Interpretation von Sonderzeichen durch die Shell vermeiden willst.\n* **Geben Sie immer minimale Berechtigungen –** verwenden Sie die `--allow-tool=[TOOLS...]``--allow-url=[URLs...]` Befehlszeilenoptionen, um Copilot nur die Tools und den Zugriff zu erteilen, die zum Ausführen der Aufgabe erforderlich sind. Vermeiden Sie die Verwendung von allzu großzügigen Optionen (z. B. `--allow-all`), es sei denn, Sie arbeiten in einer Sandbox-Umgebung. Weitere Informationen findest du unter [Informationen zu Cloud- und lokalen Sandboxes für GitHub Copilot](/de/copilot/concepts/about-cloud-and-local-sandboxes).\n* Beim Erfassen der Ausgabe **wird `-s` (still)** verwendet. Dadurch werden Sitzungsmetadaten unterdrückt, sodass Sie sauberen Text erhalten.\n* **Verwenden `--no-ask-user`** um zu verhindern, dass der Agent versucht, Klarstellungsfragen zu stellen.\n* **Legen Sie ein Modell explizit** mit `--model` fest, um ein konsistentes Verhalten über alle Umgebungen hinweg zu gewährleisten.\n\nUnter [Programmgesteuerte Referenz für die GitHub Copilot-CLI](/de/copilot/reference/copilot-cli-reference/cli-programmatic-reference) finden Sie Optionen, die bei der programmgesteuerten Ausführung Copilot CLI besonders nützlich sind.\n\n## CI/CD-Integration\n\nEin gängiger Anwendungsfall für die programmgesteuerte Ausführung Copilot CLI besteht darin, einen CLI-Befehl in einen CI/CD-Workflowschritt einzuschließen.\n\nDieser Extrakt aus einem GitHub Actions Workflow zeigt ein einfaches Beispiel für das Ausführen eines Copilot CLI Befehls.\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\nWeitere Informationen findest du unter [Automatisieren von Aufgaben mit Copilot CLI und GitHub Actions](/de/copilot/how-tos/copilot-cli/automate-copilot-cli/automate-with-actions).\n\n## Beispiele für die programmgesteuerte Verwendung\n\n### Generieren einer Commit-Nachricht\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### Zusammenfassen einer Datei\n\n```bash copy\ncopilot -p 'Summarize what src/auth/login.ts does in no more than 100 words' -s\n```\n\n### Schreiben von Tests für ein Modul\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### Beheben von Lintfehlern\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### Erklärung eines diff\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### Code-Review eines Branches\n\nVerwende den Schrägstrichbefehl `/review`, damit der integrierte `code-review`-Agent die Code-Änderungen in der aktuellen Verzweigung überprüft.\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### Dokumentation generieren\n\n```bash copy\ncopilot -p 'Generate JSDoc comments for all exported functions in src/api/' \\\n  --allow-tool=write\n```\n\n### Exportieren einer Sitzung\n\nSpeichern Sie das vollständige Sitzungstranskript in einer Markdown-Datei im lokalen Dateisystem.\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\nSpeichern Sie das Sitzungstranskript in einem Gist auf GitHub.com, um die Freigabe zu erleichtern.\n\n```bash copy\ncopilot -p 'Summarize the architecture of this project' --share-gist\n```\n\n> \\[!NOTE]\n> Gists sind nicht verfügbar für Enterprise Managed Users, oder wenn Sie GitHub Enterprise Cloud mit Datenresidenz (\\*.ghe.com) verwenden.\n\n## Shell-Skript-Muster\n\n### Erfassen Sie die Ausgabe von Copilot in einer Variablen\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### Verwendung in einer Bedingung\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### Verarbeiten mehrerer Dateien\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## Weiterführende Lektüre\n\n* [GitHub Copilot CLI](/de/copilot/how-tos/copilot-cli)\n* [Programmgesteuerte Referenz für die GitHub Copilot-CLI](/de/copilot/reference/copilot-cli-reference/cli-programmatic-reference)\n* [GitHub Copilot CLI-Befehlsreferenz](/de/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options)"}