noora-yes-or-no-choice-prompt
Noora Yes Or No Choice Prompt
Use this skill when a Swift CLI needs a binary decision and the answer should be keyboard-driven rather than typed free-form.
Basic Pattern
import Noora
let shouldAuthenticate = Noora().yesOrNoChoicePrompt(
title: "Authentication",
question: "Would you like to authenticate?",
defaultAnswer: true,
description: "Authentication is required for remote actions.",
collapseOnSelection: true
)
Guidance
- Set
defaultAnswerdeliberately. Defaulting totrueis appropriate when the safe or expected path is opt-in. - Use a short
descriptiononly when the consequence of the choice is not obvious from the question. - Use this for boolean gates such as analytics, telemetry, authentication, cache reset, or confirmation flows.
Avoid
- Using yes/no when there are really three or more choices.
- Writing vague questions like “Continue?” without saying what will happen.
- Defaulting destructive actions to
true.
More from spqw/skills-noora
noora-alerts
Use when building Noora warning, success, error, or info alerts in a Swift CLI. Covers choosing alert type, structuring takeaways, and using `TerminalText` interpolation inside alert copy.
1noora-progress-step
Use when a Swift CLI needs a spinner-style Noora progress step for an async operation. Covers `progressStep`, optional status updates, success and error messages, and sequencing multiple steps.
1noora-text-formatting
Use when composing or formatting Noora `TerminalText` in a Swift CLI. Covers semantic text components such as commands, links, paths, and themed text, plus `Noora().format(...)`.
1noora-collapsible-step
Use when a Swift CLI needs Noora to stream multiple log lines during a task and collapse them on success or failure. Covers `collapsibleStep`, `visibleLines`, and writing readable progress lines.
1noora-text-prompt
Use when gathering free-form text input with Noora in a Swift CLI. Covers `textPrompt`, default values, collapse behavior, and validation rules such as `NonEmptyValidationRule`.
1noora-interactive-tables
Use when building interactive Noora tables in a Swift CLI. Covers selectable tables, paginated tables, lazy paginated loading, updating tables from async sequences, and TTY constraints.
1