Weave 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
Php Cli Color

Php Cli Color Laravel Package

wujunze/php-cli-color

wujunze/php-cli-color is a lightweight PHP library for adding ANSI colors and styles to command-line output. It supports foreground and background colors, 256-color terminals, and simple chained methods to make CLI scripts, logs, and console tools easier to read.

Deep Wiki
Context7

Simple and easy to use the PHP command-line output of color

Frequently asked questions about Php Cli Color
How do I install wujunze/php-cli-color in a Laravel application?
Install it with composer require wujunze/php-cli-color, then call its static helper methods directly inside an Artisan command or standalone script. There is no service provider, facade, or config file to register, so installation is effectively done once Composer resolves the package. Before committing, verify the package's PHP constraint resolves cleanly on your runtime, since the last release dates to 2018.
Does wujunze/php-cli-color work with Laravel 11 and Laravel 12?
Because the package has no framework coupling at all, it is not tied to a Laravel version matrix and will run anywhere the PHP constraint is satisfied. The realistic blocker is the outdated composer.json PHP floor from 2018, which may warn or fail on PHP 8.2 and 8.3. If that happens, fork the package to an internal namespace with a bumped constraint or vendor the source instead of using --ignore-platform-reqs.
Is wujunze/php-cli-color still maintained?
The project has roughly 41 stars, an unlisted or unknown upstream repository, and a last release of 2018-07-18, so it is effectively unmaintained. Functional risk is low because it only emits static ANSI escape sequences, but supply-chain and maintenance risk is moderate to high. If you adopt it, plan for an internal fork with a named owner rather than depending on upstream activity.
How does wujunze/php-cli-color compare to Laravel's built-in console styling?
Laravel already ships Symfony Console, which gives you info, comment, and error tags through OutputFormatter plus helpers like $this->line(), $this->info(), and $this->error(). Symfony also supports fg and options styling directly in command output strings, along with Table and ProgressBar styling. For most Laravel teams this package is largely redundant, and the honest question is why add a dependency for something the framework already does.
Does wujunze/php-cli-color respect NO_COLOR, --no-ansi, or TTY detection?
There is no evidence in the package that it detects a TTY or honors the NO_COLOR convention or Laravel's --no-ansi flag. Unless you add guards yourself, piped output, CI logs, and captured Artisan::call() output will contain literal escape bytes. Laravel's own formatter already handles non-decorated output correctly, which is one more argument for using it instead.
Can I use wujunze/php-cli-color inside Artisan commands?
Yes, it works fine inside custom Artisan commands, seeders, and operational scripts, but it belongs strictly in the presentation layer. Do not use it in domain services, HTTP controllers, or queue jobs, where escape codes make no sense and pollute structured output. Keep calls confined to a single internal helper so the codebase stays swappable.
Does wujunze/php-cli-color support 256-color terminals and background colors?
Yes, the library advertises foreground and background colors, 256-color terminal support, and simple chained methods for applying styles. That is more expressive than the basic named-color tags in Symfony's OutputFormatterStyle, which is the one genuine capability gap worth evaluating. Confirm your target terminals actually render 256-color codes before relying on them.
Will colored output from wujunze/php-cli-color break on Windows cmd.exe or CI runners?
ANSI 256-color codes are unreliable on legacy Windows cmd.exe and on some CI runners without a modern terminal emulator. If GitHub Actions or GitLab logs are part of your target surface, TTY detection becomes a hard requirement rather than a nice-to-have. Since this package does not appear to handle that detection, you would need to own the guard logic in your own console helper.
What is the safest way to adopt wujunze/php-cli-color in an existing Laravel codebase?
First inventory your existing colored output and confirm what Symfony and Laravel already cover, which is typically 80 to 100 percent with zero new dependencies. If you still adopt the package, wrap it behind a single internal ConsoleStyle helper in app/Support/Console and forbid direct static calls elsewhere. That keeps a future swap to OutputFormatter or another maintained library a one-file change.
What are the best alternatives to wujunze/php-cli-color for Laravel developers?
The default alternative is Symfony Console's OutputFormatterStyle combined with Laravel's $this->info(), $this->line(), and $this->error() helpers, which require no extra dependency and handle --no-ansi correctly. If you need richer chainable styling in standalone scripts, maintained libraries such as symfony/console or newer PHP CLI color packages are safer bets. Any alternative should offer TTY detection and NO_COLOR support before you take on the dependency.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource