Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 35 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,23 @@
- [Installing Statamic](#installing-statamic)
- [Checking Statamic versions](#checking-statamic-versions)
- [Updating Statamic](#updating-statamic)
- [Installing directly](#installing-directly)

## Installing the CLI tool

We recommend running the CLI tool through [cpx](https://cpx.dev), rather than installing it directly. cpx runs Composer packages on-the-fly, so you'll always be using the latest version of the CLI tool without needing to update it yourself.

First, install cpx:

```
composer global require statamic/cli
composer global require cpx/cpx
```

Make sure to place Composer's system-wide vendor bin directory in your `$PATH` so the `statamic` executable can be located by your system. [Here's how](https://statamic.dev/troubleshooting/command-not-found-statamic).
Then you can run the CLI tool with:

Once installed, you should be able to run `statamic {command name}` from within any directory.
```
cpx statamic/cli {command name}
```

### GitHub authentication

Expand All @@ -28,46 +35,58 @@ composer config --global --auth github-oauth.github.com [your_token_here]

Read more on this in the [Composer Docs](https://getcomposer.org/doc/articles/authentication-for-private-packages.md).

## Updating the CLI tool

```
composer global update statamic/cli
```

Run this command to update the CLI tool to the most recent published version. If there's been a major version release, you may need to run `require` instead of update.

## Using the CLI tool

### Installing Statamic

You may create a new Statamic site with the `new` command:

```
statamic new my-site
cpx statamic/cli new my-site
```

This will present you with a list of supported starter kits to select from. Upon selection, the latest version will be downloaded and installed into the `my-site` directory.
This will present you with a list of supported starter kits to select from. Upon selection, the latest version will be downloaded and installed into the `my-site` directory.

You may also pass an explicit starter kit repo if you wish to skip the selection prompt:

```
statamic new my-site statamic/starter-kit-cool-writings
cpx statamic/cli new my-site statamic/starter-kit-cool-writings
```

### Checking Statamic versions

From within an existing Statamic project root directory, you may run the following command to quickly find out which version is being used.

```
statamic version
cpx statamic/cli version
```

### Updating Statamic

From within an existing Statamic project root directory, you may use the following command to update to the latest version.

```
statamic update
cpx statamic/cli update
```

This is just syntactic sugar for the `composer update statamic/cms --with-dependencies` command.

## Installing directly

If you'd rather not use cpx, you can install the CLI tool directly instead:

```
composer global require statamic/cli
```

Make sure to place Composer's system-wide vendor bin directory in your `$PATH` so the `statamic` executable can be located by your system. [Here's how](https://statamic.dev/troubleshooting/command-not-found-statamic).

Once installed, you should be able to run `statamic {command name}` from within any directory, in place of `cpx statamic/cli {command name}` above.

To update the CLI tool itself to the most recent published version, run:

```
composer global update statamic/cli
```

If there's been a major version release, you may need to run `require` instead of `update`.