wireshell
ProcessWire command-line companionWhat is wireshell?
A command-line interface for CMS/CMF ProcessWire based on Symfony Console component. Can be easily extended through ProcessWire's ability of being bootstrapped into other applications, its great API, and Symfony Console's modular command approach.
Usage example
Here's a short demonstration of wireshell. Of course it covers only a small portion of it's functionality, so please have a look at the list of available commands to see what's possible.
Getting Started
Installation
Wireshell requires Composer and a local PHP installation >= 5.4.0, and – of course – ProcessWire.
- Download and install Composer globally (if it isn't on your system already)
- Run
$ composer global require wireshell/wireshell
- Add wireshell to your system path (in .bashrc or similar):
unix-based systems:export PATH="$HOME/.composer/vendor/bin:$PATH"
Windows:%appdata%\Composer\vendor\bin
Upgrading
You can update update wireshell like any other Composer package:
$ composer global require wireshell/wireshell:dev-master
Documentation
For detailed usage please go to wireshell docs.
Extending
Contributors
Who can contribute?
Anyone! Thanks for your interest in extending wireshell. Please point your GitHub Pull Request towards the develop
branch.
Core:
- Bea David (ProcessWire Forum, GitHub)
Community:
- Camilo Castro (ProcessWire Forum, GitHub)
- Hari KT (ProcessWire, GitHub)
- Horst Nogajski (ProcessWire, GitHub)
- Marcus Herrmann (ProcessWire Forum, GitHub)
- Nico Knoll (ProcessWire, GitHub)
… and probably a few more (if you have the feeling that we should mention you - let us know!)
Guide
Symfony
Symfony Console is part of the Symfony Framework and a great workbench for command line apps. There are other command line interfaces for CMS/CMF's around, such as DrupalConsole, that are also based on Console. In general commands are single classes with a transparent set of dependencies (Input, Output) wrapped in a single app. Find out more in the official documentation and check out sample code. Also have a look at already created wireshell commands.
Styleguide
In lieu of a formal styleguide, take care to maintain the existing coding style. Note the .editorconfig
file in the repository.
Output
There are a bunch of existing functions to tint the output, to get an overview what's possible, please run wireshell write
.
Support
We support you through different channels: the ever growing wireshell forum topic and the project on GitHub - if you've got any problems with or ideas for wireshell please feel free to open an issue.
We're excitedly awaiting your feedback. Your comments and any questions or suggestions are always welcome.