hypervel / prompts
Add beautiful and user-friendly forms to your command-line applications.
v0.3.28
2026-03-05 03:28 UTC
Requires
- php: ^8.2
- composer-runtime-api: ^2.2
- ext-mbstring: *
- nunomaduro/termwind: ^2.0
- symfony/console: ^6.2|^7.0
Requires (Dev)
- hyperf/collection: ~3.1.0
- mockery/mockery: ^1.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- 0.4.x-dev
- 0.3.x-dev
- dev-main / 0.3.x-dev
- v0.3.28
- v0.3.27
- v0.3.26
- v0.3.25
- v0.3.24
- v0.3.23
- v0.3.22
- v0.3.21
- v0.3.20
- v0.3.19
- v0.3.18
- v0.3.17
- v0.3.16
- v0.3.15
- v0.3.14
- v0.3.13
- v0.3.12
- v0.3.11
- v0.3.10
- v0.3.9
- v0.3.8
- v0.3.7
- v0.3.6
- v0.3.5
- v0.3.4
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- 0.2.x-dev
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- 0.1.x-dev
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
This package is auto-updated.
Last update: 2026-11-02 12:42:26 UTC
README
Documentation: https://hypervel.org/docs/prompts
Differences From Laravel
- Spinners are animated by a coroutine instead of a forked process, so
spin()animates only inside a Swoole coroutine. Outside one, it shows a static spinner while the callback runs. Prompt::interactive(),fallbackWhen(),fallbackUsing(),setOutput(), andvalidateUsing()apply only to the current coroutine when called inside one, so one coroutine's settings do not leak into others in the same worker. UseCoroutine::fork()to pass these settings to child coroutines. Call them outside a coroutine, such as during boot, to apply them globally.Logger::prefix()is not available because Task output uses binary frames. Overridewrite()to customize transport writes.NumberPrompt::wrapValidation()is replaced byvalidateIntrinsic(), which every execution mode calls. Custom prompts should overridevalidateIntrinsic()for rules that belong to the prompt type.DataTableRenderer::computeColumnWidths()is split intoDataTablePrompt::naturalColumnMetrics(), which measures the content once per prompt, andDataTableRenderer::fitColumnWidths(), which fits those widths to the terminal on each render. Override whichever method covers the step you need to change.
Ported from: https://github.com/laravel/prompts