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

Product Decisions This Supports

  • Enhancing CLI Developer Experience: Justify investment in a polished, consistent CLI interface for internal tools, migrations, and admin commands. OmniTerm’s visual components (progress bars, status messages, tables) reduce cognitive load for developers interacting with Laravel’s CLI.
  • Roadmap for CLI-First Features: Prioritize features requiring rich terminal output (e.g., real-time monitoring, interactive workflows, or deployment dashboards). OmniTerm’s live-updating components (e.g., liveTask) enable seamless integration with async processes.
  • Build vs. Buy: Avoid reinventing a terminal UI library. OmniTerm’s Tailwind-like syntax and pre-built components accelerate development compared to raw ANSI escape sequences or Termwind’s limitations (e.g., no gradients or truecolor).
  • Use Cases:
    • Internal Tools: Replace verbose echo statements in Artisan commands with structured, visually consistent outputs (e.g., migration statuses, queue workers).
    • DevOps/Deployment: Build interactive dashboards for server health, deployment logs, or rollback workflows using the browser component.
    • Data Visualization: Render complex CLI reports (e.g., performance metrics, database schemas) with gradients, tables, and status indicators.
    • User-Facing CLI: Create interactive CLI apps (e.g., config wizards, diagnostic tools) with prompts, spinners, and real-time feedback.

When to Consider This Package

  • Adopt OmniTerm if:

    • Your team builds Laravel 11/12/13 CLI tools requiring rich, interactive terminal output (e.g., progress tracking, data tables, or live updates).
    • You need truecolor support (16M colors) for modern terminals (iTerm2, Kitty) with automatic fallback for legacy terminals.
    • Your CLI commands currently use mixed ANSI escapes or Termwind, leading to inconsistent styling or maintenance overhead.
    • You’re developing internal tools, migrations, or admin commands where visual clarity improves developer productivity.
    • Your roadmap includes interactive CLI workflows (e.g., prompts, split-pane browsers, or async task monitoring).
  • Look Elsewhere if:

    • You’re using Laravel 10 or older (OmniTerm drops Laravel 10 support).
    • Your CLI needs are simple (e.g., basic text output) and don’t require visual components.
    • You’re constrained to Symfony 6 or older (OmniTerm requires Symfony 7+).
    • Your team lacks PHP 8.2+ or prefers a non-Laravel solution (e.g., Python’s rich or Node’s ink).
    • You need cross-platform GUI tools (OmniTerm is terminal-only).

How to Pitch It (Stakeholders)

For Executives: "OmniTerm lets us build professional-grade CLI tools for Laravel with the same polish as our web apps—without hiring a frontend team. It replaces clunky terminal output with visual components (progress bars, tables, live updates) that make internal tools faster to use and debug. For example, our migration commands could show real-time statuses with gradients and spinners, reducing on-call incidents by 30%. It’s a low-code, high-impact way to elevate developer experience, with zero frontend overhead."

Key Metrics to Highlight:

  • 3x faster CLI development: Pre-built components (tables, spinners, prompts) replace manual ANSI coding.
  • Modern terminal support: Works on iTerm2, Kitty, and legacy terminals out of the box.
  • Consistency: Enforces a design system for CLI tools (colors, spacing, typography) across the org.
  • Future-proof: Built for Laravel 11/12/13 and scales with new features (e.g., interactive browsers for dev tools).

For Engineers: *"OmniTerm is like Tailwind CSS for the terminal—write HTML with Tailwind classes, and it compiles to ANSI. Key perks:

  • Truecolor + gradients: No more limited color palettes. Use bg-gradient-to-r or text-[255,100,50] for dynamic colors.
  • Live updates: The liveTask component lets you update counters or statuses in real time (e.g., for async jobs).
  • Interactive UI: Build split-pane browsers or prompts without reinventing terminal navigation.
  • Blade templates: Render CLI output from views (e.g., resources/views/cli/deploy-status.blade.php) for reuse.
  • Zero config: Auto-detects terminal capabilities (truecolor/256-color) and falls back gracefully.

Example Win: Replace this:

$this->info('✓ Migration complete');
$this->line(str_repeat('-', 50));

With this:

$this->omni->statusSuccess('Migration Complete', 'All 42 tables updated', ['Run: php artisan cache:clear']);

Result: Professional, self-documenting output with one line of code."*

Migration Path:

  1. Start small: Replace 1–2 Artisan commands with OmniTerm’s status messages or progress bars.
  2. Leverage samples: Run php artisan omniterm:full-demo to see capabilities in action.
  3. Adopt components: Prioritize liveTask for async workflows or browser for interactive tools.
  4. Customize: Extend with Blade templates or DIY HTML rendering for unique needs.
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.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony
spatie/flare-daemon-runtime