miniCLI is a minimalist, dependency-free framework for building CLI-centric PHP applications. It provides a structured way to organize your commands, as well as various helpers to facilitate working with command arguments, obtaining input from users, and printing colored output.
Quick links:
What does it mean to be dependency-free? It means that you can build a working CLI PHP application without dozens of nested user-land dependencies. The basic minicli/minicli package has only testing dependencies, and a single system requirement:
- PHP >= 8.4
It gives you a lot of room to choose your own dependencies.
To create a new project using our miniCLI template, run:
composer create-project --prefer-dist minicli/app myapp
This will generate a minimal application with everything you need to create a CLI application with miniCLI.
You can now run the bootstrapped application with:
./minicli helpThe documentation contains more detailed information about creating commands and the full features provided by miniCLI.
Contributions are very welcome! You can contribute with code, documentation, filing issues... Please refer to our contributing doc for more information on the contribution process and what we expect from you.
miniCLI uses Pest PHP as testing framework. Once you have all dependencies installed via composer install, you can run the complete test suite with:
composer test