Skip to content

Getting Started

Introduction

Yalla CLI is a standalone PHP CLI framework designed to help you build powerful command-line applications without external dependencies. Unlike other PHP CLI frameworks that rely on heavy dependencies like Symfony Console, Yalla is built entirely from scratch, giving you complete control and understanding of your CLI application.

Why Yalla?

  • Zero Dependencies: No hidden complexity or bloat from third-party packages
  • Educational: Perfect for learning how CLI frameworks work under the hood
  • Lightweight: Minimal footprint, fast execution
  • Feature-Rich: Despite being dependency-free, includes all essential CLI features
  • Modern PHP: Built with PHP 8.1+ features and best practices

Key Features

Core Features

  • Command routing and execution
  • Argument and option parsing (both long and short formats)
  • Colored terminal output
  • Table rendering with Unicode box drawing
  • Progress bars and spinners
  • Command validation

Interactive REPL

  • Full PHP REPL with evaluation
  • Command history
  • Autocomplete support
  • Variable persistence
  • Multiple display modes
  • Custom extensions

Developer Experience

  • Command scaffolding generator
  • 100% test coverage
  • Cross-platform support
  • Comprehensive documentation

Quick Start

1. Install via Composer

bash
composer require marwen-brini/yalla

2. Create Your CLI Application

Create a file bin/yalla:

php
#!/usr/bin/env php
<?php

require 'vendor/autoload.php';

use Yalla\Application;

$app = new Application('My CLI App', '1.0.0');
$app->run();

3. Make it Executable

bash
chmod +x bin/yalla

4. Run Your Application

bash
./bin/yalla

This will display the list of available commands. You can now start adding your own custom commands!

Next Steps

Released under the MIT License.