Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Omniterm Laravel Package

pdphilip/omniterm

Laravel terminal UI toolkit: write Artisan/CLI output as HTML with Tailwind-style classes and OmniTerm renders it to ANSI. Includes truecolor with fallback, gradients, arbitrary RGB, and content repeat, plus ready-made components like status messages, tables, progress bars, spinners, and live tasks.

View on GitHub
Deep Wiki
Context7

This is my package OmniTerm

Frequently asked questions about Omniterm
How does OmniTerm compare to Termwind for Laravel CLI output?
OmniTerm extends Termwind’s Tailwind-for-terminal concept with advanced features like truecolor (16M colors), gradients, and arbitrary RGB classes. It also includes prebuilt Artisan components (progress bars, spinners) and Blade template support, making it more feature-rich for Laravel-specific CLI needs.
Can I use OmniTerm with Laravel 10?
No, OmniTerm dropped Laravel 10 support in v3.0.0. If you’re on Laravel 10, you’ll need to downgrade to OmniTerm v2.x or upgrade your Laravel project. Check the package’s changelog for specific version constraints.
Will OmniTerm work in CI/CD pipelines where terminals lack truecolor support?
Yes, OmniTerm auto-detects terminal capabilities and falls back to 256-color mode if truecolor isn’t supported. For CI environments, test your output with `xvfb` or a terminal emulator to ensure compatibility.
How do I create a custom gradient in OmniTerm?
Use Tailwind-like classes in your HTML string: `bg-gradient-to-r from-blue-500 via-purple-500 to-pink-500`. OmniTerm supports `from-*`, `via-*`, and `to-*` utilities for smooth color transitions. For arbitrary RGB, use `bg-[255,99,71]` or `text-[0,128,128]`.
Can I integrate OmniTerm with Symfony’s Console component outside Laravel?
OmniTerm is Laravel-centric but uses Symfony’s Console under the hood. Non-Laravel projects would need to manually bind services or adapt the rendering logic. For Symfony CLI tools, consider Termwind or Symfony’s native ProgressBar instead.
How do I test terminal output in PHPUnit?
OmniTerm doesn’t include built-in test utilities, but you can mock ANSI output by capturing `stdout` or using terminal emulators like `xvfb`. For CI, verify rendering with `php artisan command:test` in a controlled terminal environment.
Are there performance concerns with rendering complex Blade templates for CLI?
Blade templates add minimal overhead for simple outputs, but complex templates may slow rendering. Reserve Blade for reusable components and use inline HTML for one-off CLI messages. Benchmark with `microtime(true)` if performance is critical.
How do I create a live progress bar for long-running tasks?
Use `$this->omni->liveTask()` with a callback. It auto-updates the terminal with spinners or progress bars. Example: `$this->omni->liveTask('Processing...', fn() => sleep(1));` for a 1-second delay demo.
Can OmniTerm replace Symfony’s ProgressBar in Laravel?
Yes, OmniTerm’s `$this->omni->progressBar()` is a drop-in replacement with more styling options (gradients, truecolor). Migrate by swapping `ProgressBar` for OmniTerm’s component, which integrates natively with Laravel’s Artisan.
What’s the best way to migrate from echo/ANSI escapes to OmniTerm?
Start with a single Artisan command: replace `echo` or `$this->info()` with `$this->omni->success()` or `$this->omni->render()`. For complex outputs, refactor Blade templates. Use `HasOmniTerm` trait to access all components without manual ANSI logic.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
daikazu/eloquent-salesforce-objects
unseen-codes/chat
romalytar/yammi-jobs-monitoring-laravel
kisame76/filament-db-table-state
nqxcode/laravel-lucene-search
dpfx/laravel-livewire-wizards
workos/workos-php-laravel
sofa/laravel-global-scope
nawasara/auth-primitives
adhocrat-io/arkhe-main
make-dev/orca-harpoon
itsemon245/lamet
baks-dev/dashboard
amoifr/pickle-panther-bundle
make-dev/orca
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle