Search by

nixphp / cli

floknapp

This package is abandoned and no longer maintained. The author suggests using the naf/cli package instead.

NixPHP CLI Plugin for console applications.

Package info

github.com/nixphp/cli

Type:nixphp-plugin

pkg:composer/nixphp/cli

Statistics

Installs: 183

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.2 2025-12-08 21:21 UTC

This package is auto-updated.

Last update: 2026-09-13 19:03:31 UTC


README

Important

NixPHP is now NAF — "Not Another Framework".

This package continues as naf/cli: github.com/nafphp/cli · documentation · what changed and how to move

composer require naf/cli

The old name collided with NixOS down to the shell, where the CLI binary was literally nix. This repository is archived and receives no further releases; nixphp/cli stays on Packagist so existing installations keep working.

Note the plugin type. NAF discovers plugins by the Composer type naf-plugin. A package still declaring nixphp-plugin is not loaded — silently, with no error.

Logo

NixPHP CLI Plugin

← Back to NixPHP

nixphp/cli

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.

📦 Features

  • ✅ 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

📥 Installation

composer require nixphp/cli

This will create vendor/bin/nix, your CLI gateway.

🚀 Usage

🔍 Run a command

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.

🛠️ Create a custom command

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

🎨 Colored output

Use $output->writeLine() to print messages with color support:

Type Appearance
'ok' ✅ Green
'error' ❌ Red
'warning' ⚠️ Yellow
'title' 💡 Light green on black
'headline' 📢 Light blue on black

You can also draw horizontal lines:

$output->drawStroke(30);

🧪 Interactive input

You can prompt the user:

$name = $input->ask('What is your name?');

📁 File structure

A typical CLI setup might look like this:

app/
└── Commands/
    └── HelloCommand.php

vendor/
└── bin/
    └── nix

bootstrap.php

✅ Requirements

  • nixphp/framework >= 0.1.0
  • PHP >= 8.3

📄 License

MIT License.