Skip to content

Tracking: family-wide --non-interactive flag coverage #32

Description

@rianjs

Tracking issue. Family-wide rollout of --non-interactive root flag + TTY-gated prompt logic.

Why: §3.4 + §4.1 of docs/scriptability.md. Without --non-interactive:

  1. Wizard reads stdin → hangs forever in CI when stdin is piped or absent.
  2. Wizard runs even when every required value was provided as a flag (jtk init does this today).
  3. isatty-only detection is fragile — some CI runners present a fake TTY; some users want fail-fast in interactive contexts.

Contract: with --non-interactive, any required value not provided via flag/env/stdin → exit non-zero with a specific error naming the missing field. No prompt. Ever.

Affected CLIs (need child issues per CLI):

  • jtk, cfl — wizards in atlassian-cli; tracked in the atlassian parent true-ups issue
  • slckslck init wizard runs unconditionally
  • grogro init wizard runs unconditionally
  • sfdcsfdc init wizard runs unconditionally (also blocks: no set-credential alternative — see open-cli-collective/salesforce-cli)

Reference implementation: nrq at newrelic-cli/internal/cmd/initcmd/init.go:77,108,156-159,336-339. Worth lifting the prompt-gate helper into cli-common before the second CLI implements it.

Source: docs/scriptability.md §9, divergence catalog (PR #28 / commit e4d59c6).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions