1
Call. text(label: 'Name?', placeholder: '...', required: true, validate: ...) inside a command's handle.
2
Renderer. Draws the prompt, cursor and hint in the terminal and redraws on every keystroke, like a browser input.
3
Transform, then validate. transform runs first, then required, a closure or a rule array such as ['name' => 'unique:users'].
4
Fallback, Symfony's helper, used on Windows outside WSL and in tests. With no TTY, a prompt returns its default.
5
form(). Several prompts in order; submit() returns them and Ctrl+U steps back to fix an earlier answer.
6
spin() and progress(). A spinner round a callback (PCNTL to animate it) and a progress bar that maps over the steps.