A minimal, developer-friendly command-line interface for your NixPHP application.
This plugin gives you a clean CLI system with colored output, argument parsing, and auto-discovered commands. All without external dependencies.
🧩 Part of the official NixPHP plugin collection. Install it if you want powerful CLI tools for development, deployment, and automation.
✅ Adds vendor/bin/nix
as your app’s command-line entry point
✅ Auto-discovers commands in app/Commands/
✅ Supports arguments, options, and interactive input
✅ Prints colored output for better UX
✅ Fully extensible – build your own tools and workflows
composer require nixphp/cli
This will create vendor/bin/nix
, your CLI gateway.
vendor/bin/nix your:command
Commands are discovered automatically if placed in your app’s app/Commands/
directory.
vendor/bin/nix
If you call the helper without arguments, it prints all available CLI commands.
To create your own CLI command, add a class in the app/Commands/
folder:
namespace App\Commands;
use NixPHP\Cli\Core\AbstractCommand;
use NixPHP\Cli\Core\Input;
use NixPHP\Cli\Core\Output;
class HelloCommand extends AbstractCommand
{
public const NAME = 'hello:say';
protected function configure(): void
{
$this->setTitle('Say Hello');
$this->addArgument('name');
}
public function run(Input $input, Output $output): int
{
$name = $input->getArgument('name');
$output->writeLine("Hello, {$name}!", 'ok');
return static::SUCCESS;
}
}
No registration needed — as long as the class resides in app/Commands/
, it will be picked up automatically.
Then run:
vendor/bin/nix hello:say John
Use $output->writeLine()
to print messages with color support:
Type | Appearance |
---|---|
'ok' |
✅ Green |
'error' |
❌ Red |
'warning' |
|
'title' |
💡 Light green on black |
'headline' |
📢 Light blue on black |
You can also draw horizontal lines:
$output->drawStroke(30);
You can prompt the user:
$name = $input->ask('What is your name?');
A typical CLI setup might look like this:
app/
└── Commands/
└── HelloCommand.php
vendor/
└── bin/
└── nix
bootstrap.php
nixphp/framework
>= 1.0- PHP >= 8.1
MIT License.