[information-architecture] README quick setup one-liner hides token prerequisite in piped execution

Open Beginner friendly
#1,071 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
84/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Quiet
Tech stack
bash
Domain
documentation

Research direction

Start with README.md:33-39 and scripts/quick-setup.sh:26-27, 223-244; compare the piped command, token documentation, and non-interactive error path. Done means the README clearly explains the token prerequisite, shows both supported setup paths, and accurately describes when the default token behavior works.

Written by the indexing model from the issue text.

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? | From workflow: Trigger Information Architecture

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Dominant language
Python
Stars
11
Forks
16
Avg merge
11h 16m
Merged PRs (30d)
29

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from elastic/ai-github-actions

All issues in elastic/ai-github-actions

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.