github / github/copilot-cli

Add a `--prompt-file <path>` flag (large prompts hit ARG_MAX; stdin is awkward)

Đang mở
#3,398 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:non-interactive
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

## Summary

Add a `--prompt-file ` flag to read the prompt from a file instead of from `-p ` or stdin.

## Motivation

Today there are two ways to give Copilot CLI a prompt in non-interactive mode:

1. `-p "$(cat prompt.md)"` — convenient, but the whole prompt is passed on the command line, which is subject to `ARG_MAX` (~2 MB on typical Linux). For our use case (code-review bot that inlines the PR diff plus prior reviews) this is close enough to the limit to be a concern.
2. `< prompt.md` (stdin) — works, no size limit, but is awkward to thread through wrapper scripts that already use stdin for other purposes, and it's harder for new users to discover.

A first-class `--prompt-file` flag would:
- Have no size limit (just reads the file).
- Be self-documenting in scripts (`copilot --prompt-file ./review-prompt.md` vs `copilot -p "$(cat review-prompt.md)"`).
- Compose naturally with workflows that build prompts incrementally (instructions + diff + prior reviews) into a single file.

## Suggested behaviour

```bash
copilot --model gpt-5.5 --prompt-file ./prompt.md # equivalent to `-p "$(cat ./prompt.md)"` but unbounded
copilot --model gpt-5.5 --prompt-file - # explicit stdin (same as today's bare `<`)
```

Mutually exclusive with `-p`/`--prompt`. Error if the file doesn't exist or is empty.

## Why now

I just shipped a self-hosted GitHub Actions workflow that calls Copilot CLI three times per PR (two reviewers + synthesiser), each with a prompt that inlines the PR diff, repo instructions, and (for the synthesiser) the two prior reviews. The consensus prompt can approach several hundred KB; we use stdin today, which works but isn't obvious to anyone reading the workflow. `--prompt-file` would make the intent clear without a wrapper.

## Environment

- GitHub Copilot CLI: `1.0.49`
- Use case: non-interactive `-p`/stdin in GitHub Actions

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by locating the existing -p/--prompt option handling and the non-interactive stdin path. Add the mutually exclusive --prompt-file path, including '-' for stdin, and verify that missing or empty files produce errors and that normal file prompts work as described.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
shell
Lĩnh vực
cli
Loại issue
Tính năng
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
64/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.