From 1dffc6002874023ec0ee254c215bc44c14834c3b Mon Sep 17 00:00:00 2001 From: rafageist Date: Sat, 28 Mar 2026 17:51:34 -0300 Subject: [PATCH 01/20] feat: Initial Divengine CLI with core commands and ANSI console output - Core architecture: Application, Command base class, ArgParser - Commands: help, version, doctor, render, transform, build, templates, packages, resolve - Core services: TemplateRunner, Filesystem, PackageInspector, DoctorService - Console utilities: ANSI colors, segments, progress, helpers - Multi-platform bin: div (Unix), div.bat (Windows) - Install scripts: install.sh, install.bat - Enhanced CLI output with colored segments and semantic messages --- README.md | 267 ++++- bin/div | 53 + bin/div.bat | 2 + bin/install.bat | 51 + bin/install.sh | 85 ++ composer.json | 26 + composer.lock | 1690 +++++++++++++++++++++++++++++ src/cli/Application.php | 95 ++ src/cli/Command.php | 80 ++ src/commands/BuildCommand.php | 119 ++ src/commands/DoctorCommand.php | 67 ++ src/commands/HelpCommand.php | 77 ++ src/commands/PackagesCommand.php | 66 ++ src/commands/RenderCommand.php | 106 ++ src/commands/ResolveCommand.php | 59 + src/commands/TemplatesCommand.php | 126 +++ src/commands/TransformCommand.php | 108 ++ src/commands/VersionCommand.php | 28 + src/core/ArgParser.php | 76 ++ src/core/DoctorService.php | 149 +++ src/core/Filesystem.php | 152 +++ src/core/PackageInspector.php | 133 +++ src/core/TemplateRunner.php | 81 ++ src/utils/Console.php | 272 +++++ 24 files changed, 3967 insertions(+), 1 deletion(-) create mode 100644 bin/div create mode 100644 bin/div.bat create mode 100644 bin/install.bat create mode 100644 bin/install.sh create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 src/cli/Application.php create mode 100644 src/cli/Command.php create mode 100644 src/commands/BuildCommand.php create mode 100644 src/commands/DoctorCommand.php create mode 100644 src/commands/HelpCommand.php create mode 100644 src/commands/PackagesCommand.php create mode 100644 src/commands/RenderCommand.php create mode 100644 src/commands/ResolveCommand.php create mode 100644 src/commands/TemplatesCommand.php create mode 100644 src/commands/TransformCommand.php create mode 100644 src/commands/VersionCommand.php create mode 100644 src/core/ArgParser.php create mode 100644 src/core/DoctorService.php create mode 100644 src/core/Filesystem.php create mode 100644 src/core/PackageInspector.php create mode 100644 src/core/TemplateRunner.php create mode 100644 src/utils/Console.php diff --git a/README.md b/README.md index e510a66..0af0b81 100644 --- a/README.md +++ b/README.md @@ -1 +1,266 @@ -# cli \ No newline at end of file +# Divengine CLI + +> Runtime CLI for the Divengine template ecosystem + +## Philosophy + +`div` is a focused CLI tool centered on **template generation and transformation**. It is not a general-purpose utility belt. + +**Focus areas:** +- Rendering and transforming templates +- Building artifacts from templates +- Resolving templates from packages +- Managing the Divengine template ecosystem + +**What div is NOT:** +- Not a replacement for `grep`, `sed`, `awk`, or other Unix text tools +- Not a general-purpose script runner +- Not a build system for arbitrary tasks + +## Requirements + +- PHP >= 8.1 + +## Installation + +### Global Install (Recommended) + +**Linux / macOS:** +```bash +./bin/install.sh +# Or system-wide (requires sudo): +# sudo ./bin/install.sh /usr/local/bin +``` + +**Windows:** +```cmd +bin\install.bat +``` + +After installation, restart your terminal and run `div --help`. + +### Local Install + +```bash +composer install +./bin/div --help +``` + +## Commands + +### `div help [command]` +Show help for all commands or a specific command. + +```bash +div help # List all commands +div help render # Show render command help +``` + +### `div version` +Show CLI version. + +```bash +div version +# Output: Divengine CLI v1.0.0 +``` + +### `div render