PHPackages                             foliolabs/folioshell - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. foliolabs/folioshell

ActiveProject[CLI &amp; Console](/categories/cli)

foliolabs/folioshell
====================

This command-line script helps to ease the management of WordPress sites in your development environment.

v2.0.2(1y ago)0994MPL-2.0PHPPHP &gt;=7.3

Since Aug 24Pushed 1y ago6 watchersCompare

[ Source](https://github.com/foliolabs/folioshell)[ Packagist](https://packagist.org/packages/foliolabs/folioshell)[ Docs](https://github.com/foliolabs/folioshell)[ RSS](/packages/foliolabs-folioshell/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (6)Dependencies (6)Versions (10)Used By (0)

FolioShell - WordPress Command Line Tools
=========================================

[](#folioshell---wordpress-command-line-tools)

This is a script developed by [Foliolabs Team](https://foliolabs.com) to ease the management of WordPress sites.

It is designed to work on Linux and MacOS. Windows users can use it in [Nooku Vagrant box](https://github.com/nooku/nooku-vagrant)

Installation
------------

[](#installation)

1. Download or clone this repository.
2. Make the `folioshell` command executable:

    `$ chmod u+x /path/to/folioshell/bin/folioshell`
3. Configure your system to recognize where the executable resides. There are 3 options:

    1. Create a symbolic link in a directory that is already in your PATH, e.g.:

        `$ ln -s /path/to/folioshell/bin/folioshell /usr/bin/folioshell`
    2. Explicitly add the executable to the PATH variable which is defined in the the shell configuration file called .profile, .bash\_profile, .bash\_aliases, or .bashrc that is located in your home folder, i.e.:

        `export PATH="$PATH:/path/to/folioshell/bin:/usr/local/bin"`
    3. Add an alias for the executable by adding this to you shell configuration file (see list in previous option):

        `$ alias folioshell=/path/to/folioshell/bin/folioshell`

    For options 2 and 3 above, you should log out and then back in to apply your changes to your current session.
4. Test that `folioshell` executable is found by your system:

    `$ which folioshell`
5. From `folioshell` root (`/path/to/folioshell`), run Composer to fetch dependencies.

    `$ composer install`

For available options, try running:

```
folioshell --list

```

Usage
-----

[](#usage)

### Create Sites

[](#create-sites)

To create a site with the latest WordPress version, run:

```
folioshell site:create testsite

```

The newly installed site will be available at /var/www/testsite and testsite.dev after that. You can login into your fresh WordPress installation using these credentials: `admin` / `admin`.

By default the web server root is set to */var/www*. You can pass *--www=/my/server/path* to commands for custom values.

You can choose the WordPress version to be installed:

```
folioshell site:create testsite --wordpress=4.2

```

You can pick any branch from the Git repository (e.g. master, staging) using this command.

You can also add your projects into the new site by symlinking. See the Symlinking section below for detailed information.

```
folioshell site:create testsite --symlink=project1,project2

```

For more information and available options, try running:

```
folioshell site:create --help

```

### Delete Sites

[](#delete-sites)

You can delete the sites you have created by running:

```
folioshell site:delete testsite

```

### Symlink Plugins

[](#symlink-plugins)

Let's say you are working on your own WordPress component called *Awesome* and want to develop it with the latest WordPress version.

By default your code is assumed to be in *~/Projects*. You can pass *--projects-dir=/my/code/is/here* to commands for custom values.

Please note that your source code should resemble the WordPress `wp-content` folder structure for symlinking to work properly. For example, plugins folder should reside in ~/Projects/projectname/code/plugins/projectname.

Now to create a new site, execute the site:create command and add a symlink option:

```
folioshell site:create testsite --symlink=projectname

```

Or to symlink your code into an existing site:

```
folioshell extension:symlink testsite projectname

```

This will symlink all the folders from the *projectname* folder into *testsite.dev*.

Run discover install to make your component available to WordPress and you are good to go!

For more information on the symlinker, run:

```
folioshell extension:symlink  --help

```

### Install Plugins

[](#install-plugins)

You can install plugins from WordPress's Official Plugin Repository on command line to install plugins.

```
folioshell extension:install testsite pluginslug

```

You need to use the unique slug of the plugin.

For more information, run:

```
folioshell extension:install --help

```

Alternatively, you can install plugins using packages or url using the `extension:installfile` command. Example:

```
folioshell extension:installfile testsite /home/vagrant/pluginone.v1.x.zip /home/vagrant/plugintwo.v2.x.tar.gz

```

And as URL

```
folioshell extension:installfile testsite http://url.com/to/pluginone.v1.x.zip http://url.com/to/plugintwo.v2.x.tar.gz

```

This will install both the pluginone.v1.x.zip and plugintwo.v2.x.tar.gz packages.

### Activate Plugins

[](#activate-plugins)

`extension:install` and `extension:installfile` automatically activates the plugin.

Extra commands
--------------

[](#extra-commands)

There a few other commands available for you to try out as well :

- `folioshell versions` : list the available WordPress versions.
- Use `folioshell versions --refresh` to get the latest tags and branches from the official [WordPress](https://github.com/WordPress/WordPress) repository.
- To purge the cache of all WordPress packages, add the `--clear-cache` flag to this command.

Requirements
------------

[](#requirements)

- Composer

Contributing
------------

[](#contributing)

Fork the project, create a feature branch, and send us a pull request.

Authors
-------

[](#authors)

See the list of [contributors](https://github.com/foliolabs/folioshell/contributors).

License
-------

[](#license)

The `foliolabs/folioshell` repository is licensed under the MPL v2 license - see the LICENSE file for details.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 72.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~360 days

Recently: every ~325 days

Total

8

Last Release

659d ago

Major Versions

v0.2.1 → v1.0.02020-12-29

v1.1.0 → v2.0.02022-06-09

### Community

Maintainers

![](https://www.gravatar.com/avatar/42599255f34e5b2d46fd26ed7f2be907383e2dcf3b1eb257efb0ad9d112de2a5?d=identicon)[foliolabs](/maintainers/foliolabs)

---

Top Contributors

[![ercanozkaya](https://avatars.githubusercontent.com/u/90382?v=4)](https://github.com/ercanozkaya "ercanozkaya (42 commits)")[![amazeika](https://avatars.githubusercontent.com/u/389636?v=4)](https://github.com/amazeika "amazeika (9 commits)")[![stevenrombauts](https://avatars.githubusercontent.com/u/77368?v=4)](https://github.com/stevenrombauts "stevenrombauts (5 commits)")[![raeldc](https://avatars.githubusercontent.com/u/66454?v=4)](https://github.com/raeldc "raeldc (2 commits)")

---

Tags

consolewordpresswptools

### Embed Badge

![Health badge](/badges/foliolabs-folioshell/health.svg)

```
[![Health](https://phpackages.com/badges/foliolabs-folioshell/health.svg)](https://phpackages.com/packages/foliolabs-folioshell)
```

###  Alternatives

[wp-cli/wp-cli-bundle

WP-CLI bundle package with default commands.

896.3M131](/packages/wp-cli-wp-cli-bundle)[wp-cli/doctor-command

Diagnose problems within WordPress by running a series of checks for symptoms.

162264.5k2](/packages/wp-cli-doctor-command)[joomlatools/console

This command-line script helps to ease the management of Joomla sites in your development environment.

11142.4k4](/packages/joomlatools-console)[laminas/laminas-cli

Command-line interface for Laminas projects

563.7M54](/packages/laminas-laminas-cli)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
