mwx/tools

metaworx external-tool orchestration: CLI application plumbing, configuration, processes and tool wrappers

dev-master 2026-08-27 09:53 UTC

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

NamespaceWhat 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.