elastic / elastic/ai-github-actions
[information-architecture] README quick setup one-liner hides token prerequisite in piped execution
- Dominant language
- Python
- Stars
- 11
- Forks
- 16
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 31
Description
## Information Architecture Findings
### 1. Quick setup one-liner presents a complete flow, but the required token control is disconnected from that path
**Area:** Action placement / Progressive disclosure
**Component(s):** `README.md`, `scripts/quick-setup.sh`
**Problem:** The homepage quick setup command is presented as a direct copy-paste path, and the following text says it "sets `COPILOT_GITHUB_TOKEN`" by default. In actual script behavior, piped execution (`curl ... | bash`) is non-interactive (`stdin` is not a TTY), so token prompting cannot occur. If `COPILOT_GITHUB_TOKEN` is not pre-set, the script exits and instructs users to set the environment variable or use `--skip-secret`. This places a required control outside the visible setup flow and creates a confusing dead end for first-time setup.
**Evidence:**
- `README.md:33-35` shows piped quick setup execution:
- `curl -fsSL .../scripts/quick-setup.sh | bash -s --`
- `README.md:37-39` states the default behavior "sets `COPILOT_GITHUB_TOKEN`".
- `scripts/quick-setup.sh:223-244` only prompts for token when `[ -t 0 ]`; otherwise it exits with:
- `COPILOT_GITHUB_TOKEN is not set, and stdin is not a terminal.`
- `Set COPILOT_GITHUB_TOKEN in your environment, or use --skip-secret.`
- `scripts/quick-setup.sh:26-27` documents `--skip-secret`, but this branch is not surfaced next to the README one-liner.
**Suggested improvement:** Add a prerequisite block directly below the README one-liner that explains piped runs are non-interactive and require either:
1. pre-setting `COPILOT_GITHUB_TOKEN` in the environment, or
2. running with `--skip-secret` followed by explicit manual secret setup.
## Suggested Actions
- [ ] Add an inline prerequisite callout under the README quick setup snippet with the non-interactive token requirement.
- [ ] Include one copy-paste example for each supported setup path (`COPILOT_GITHUB_TOKEN` pre-set, and `--skip-secret` + manual secret step).
- [ ] Adjust the "By default ... sets `COPILOT_GITHUB_TOKEN`" wording to clarify that this requires an interactive terminal or pre-supplied token.
---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Trigger Information Architecture](https://github.com/elastic/ai-github-actions/actions/runs/25333621323)
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
Contributor guide
Assessment
This issue has not been assessed yet.