* `.distignore`: no need to distribute the phpcs/phpunit config files.
* `.gitignore`: Allow devs to overwrite config files for PHPUnit and PHPCS
- The `.dist` files should be committed. However, for their personal use, devs can overrule those files with versions without `.dist`.
Those personal versions should never be committed.
As a side-note: for PHPCS, having a personal version while still using the original `.dist` file is made very easy, as you can just import the `.dist` file as a starting point, like so:
```xml
<?xml version="1.0"?>
<ruleset name="WP-CLI">
<rule ref="./phpcs.xml.dist"/>
</ruleset>
```
Use `wp package browse` to view all available community commands.
Install a specific command with `wp package install
<namespace/package-name>`. List all installed packages with `wp
package list`. Or, uninstall a package with `wp package uninstall`
Packages are installed to their own Composer project in
`~/.wp-cli/packages`. This can be changed by setting a
`WP_CLI_PACKAGES_DIR` environment variable.
Naming the file `phpunit.xml.dist` instead of `phpunit.xml` is considered a best practice because it allows other developers working on a project to override the configuration without messing with extra command line parameters or dirtying their local version control state.
See http://www.testically.org/2010/08/24/best-practice-how-to-ship-phpunit-configuration/
Facts:
1. When WP-CLI isn't installed as the root package, composer.lock is
ignored.
2. The wp-cli.org installer doesn't install WP-CLI as the root package,
but as a dependency.
1. + 2. => Having composer.lock under version control gives a false
sense of security. Instead, we should take more care with how we define
dependencies in composer.json