noora-progress-step
Noora Progress Step
Use this skill when a Swift CLI runs an async operation and should show a spinner plus optional intermediate text.
Basic Pattern
import Noora
try await Noora().progressStep(
message: "Resolving plugins",
successMessage: "Plugins resolved",
errorMessage: "Plugin resolution failed",
showSpinner: true
) { update in
update("Loading plugin manifests")
try await Task.sleep(nanoseconds: 300_000_000)
update("Checking compatibility")
try await Task.sleep(nanoseconds: 300_000_000)
}
Good Fit
- Fetching remote metadata.
- Generating configuration.
- Resolving dependencies.
- Running a sequence of short async tasks.
Guidance
- Use
successMessageanderrorMessagewhen the outcome should remain visible after completion. - Call the update closure only for meaningful stage changes, not every tiny event.
- Chain multiple
progressStepcalls when the workflow has distinct stages.
Avoid
- Spamming updates faster than a human can read.
- Using a spinner when real percentage progress is available. Prefer
progressBarStep.
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-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.
1noora-progress-bar-step
Use when a Swift CLI needs percentage-based progress with Noora. Covers `progressBarStep`, reporting values from 0 to 1, and choosing bar updates for downloads, migrations, and batch work.
1