PHPackages                             marwen-brini/yalla - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. marwen-brini/yalla

ActiveLibrary[CLI &amp; Console](/categories/cli)

marwen-brini/yalla
==================

A standalone PHP CLI framework built from scratch

2.0.0(9mo ago)019↓93.8%[6 PRs](https://github.com/Marwen-Brini/Yalla/pulls)MITPHPPHP ^8.1|^8.2|^8.3|^8.4CI passing

Since Aug 11Pushed 8mo agoCompare

[ Source](https://github.com/Marwen-Brini/Yalla)[ Packagist](https://packagist.org/packages/marwen-brini/yalla)[ Docs](https://github.com/marwen-brini/yalla)[ RSS](/packages/marwen-brini-yalla/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (6)Versions (14)Used By (0)

Yalla CLI
=========

[](#yalla-cli)

[![Tests](https://github.com/marwen-brini/yalla/actions/workflows/run-tests.yml/badge.svg)](https://github.com/marwen-brini/yalla/actions/workflows/run-tests.yml)[![Code Coverage](https://camo.githubusercontent.com/32855e94577df9d0a30995653b17d33a5fbfdf644518f96ea0374313397d19b7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7665726167652d3130302532352d627269676874677265656e)](https://github.com/marwen-brini/yalla)[![PHP Version](https://camo.githubusercontent.com/85df7801883e6a4f599d16567f67f79c322c8d2a1c594969b1e4a0975e5350b5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e31253230746f253230382e342d626c7565)](https://www.php.net)[![Latest Version](https://camo.githubusercontent.com/32f0e853e1d0304b28815847f5541314691bfa6ee795cd57a846c8ad3a627c2b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d322e302e302d6f72616e6765)](https://github.com/marwen-brini/yalla/releases)[![Documentation](https://camo.githubusercontent.com/ce5aba8b5f80e92f2276384ddcf6241c5564ddb902f07b374c3d6f32597f85ff/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63732d7669746570726573732d626c7565)](https://marwen-brini.github.io/Yalla/)

A standalone PHP CLI framework built from scratch without dependencies.

📚 **[Read the full documentation](https://marwen-brini.github.io/Yalla/)**

Features
--------

[](#features)

- **Zero Dependencies**: Built entirely from scratch without relying on Symfony Console or other frameworks
- **Interactive REPL**: Full-featured Read-Eval-Print-Loop for interactive PHP development
- **Command Routing**: Custom command parser and router
- **Colored Output**: ANSI color support for beautiful terminal output (cross-platform)
- **Advanced Table Rendering**: Professional table formatter with multiple border styles, emoji support, and alignment options
- **Migration Tables**: Specialized table formatter for database migration systems
- **Progress Indicators**: Progress bars, spinners, and step indicators for long-running tasks
- **Async Command Execution** *(v2.0)*: Run commands asynchronously with promises and parallel execution
- **Signal Handling** *(v2.0)*: Graceful shutdown and cleanup on interrupt signals (Unix/Linux)
- **Command Middleware** *(v2.0)*: Authentication, logging, timing, and custom middleware pipeline
- **Dry Run Mode** *(v2.0)*: Preview command operations without executing them
- **Environment Management** *(v2.0)*: .env file support with variable expansion
- **File System Helpers** *(v2.0)*: Safe file operations, backup, unique filenames, and directory utilities
- **Stub Generator** *(v2.0)*: Template-based code generation with conditionals and loops
- **Process Locking** *(v2.0)*: Prevent concurrent command execution with file-based locks
- **Command Aliases** *(v2.0)*: Create shortcuts for frequently used commands
- **Exit Codes** *(v2.0)*: Standard exit codes with descriptions and exception mapping
- **Command Signatures** *(v2.0)*: Laravel-style signature parsing for arguments and options
- **Enhanced Output** *(v2.0)*: Output sections, semantic methods, verbosity levels, and timestamped logs
- **Input Parsing**: Handles commands, arguments, and options (long and short formats)
- **Command Scaffolding**: Built-in `create:command` to generate new command boilerplate
- **History &amp; Autocomplete**: REPL with command history and intelligent autocompletion
- **Extensible Architecture**: Plugin system for custom REPL extensions
- **100% Test Coverage**: Fully tested with Pest PHP
- **Cross-Platform**: Works on Windows, macOS, and Linux

Requirements
------------

[](#requirements)

- PHP 8.1, 8.2, 8.3, or 8.4
- Composer 2.0+

Installation
------------

[](#installation)

```
composer require marwen-brini/yalla
```

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

Create a CLI script (e.g., `bin/yalla`):

```
#!/usr/bin/env php
