mwx / tools
metaworx external-tool orchestration: CLI application plumbing, configuration, processes and tool wrappers
Requires
- php: ^8.2
- composer-runtime-api: ^2.1
- ext-dom: *
- clue/arguments: ^2.1
- czproject/git-php: ^4.0
- mwx/lib: ^0.1
- symfony/console: ^7.3
- symfony/process: ^7.3
- symfony/stopwatch: ^7.3
- symfony/yaml: ^7.3
This package is auto-updated.
Last update: 2026-08-27 19:04:52 UTC
README
External-tool orchestration on top of mwx/lib. Owns the
mwx\Tools\ namespace prefix, except Tools\Db\ / Tools\Mysql\
(→ mwx/tools-mysql) and Tools\Wp\ (→ mwx/tools-wp).
Contents
| Namespace | What it holds |
|---|---|
mwx\Tools\ | Process machinery (ProcessPipeline, sequences, descriptors, UnixPipes), tool wrappers (Executable, Script, ExternalTool, Git, Rsync, Php, Composer), binary interfaces/traits, application-coupled options (OptionsWithApplication, OptionsWithParent), LocalizedHash |
mwx\Tools\CLI\ | Application (symfony console extension), Command, Shell, IO and application-consumer contracts |
mwx\Tools\Config\ | Config family: file/localized/pathable configs, AppConfig |
mwx\Tools\Exceptions\ | ProcessFailedException (symfony-process-coupled) |
Tools define their own command-line option constants (e.g.
Composer::OPTION_COMPOSER, Rsync::OPTION_RSYNC_EXCLUDE,
Mysql::OPTION_MYSQL in the mysql package); applications register them.
Dependencies
mwx/lib, symfony console/process/stopwatch/yaml,
clue/arguments (command-line splitting in Script), czproject/git-php
(Git, LocalizedHash defaults), ext-dom (only for the JetBrains chat
exporter ExtractChatHistory, earmarked for extraction), and
composer-runtime-api (Application::getComposerRootPath()).
Install
Pre-publication: via the monorepo's path repository (see the repository root
README). Later: composer require mwx/tools.
MIT license.