Skip to content
Merged
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
74 changes: 61 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,83 @@
🌴 Install and manage your **Statamic** projects from the command line.

- [Installing the CLI tool](#installing-the-cli-tool)
- [Adding an alias](#adding-an-alias)
- [Installing directly](#installing-directly)
- [GitHub authentication](#github-authentication)
- [Using the CLI tool](#using-the-cli-tool)
- [Installing Statamic](#installing-statamic)
- [Checking Statamic versions](#checking-statamic-versions)
- [Updating Statamic](#updating-statamic)

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

If you're using Laravel Herd, `cpx` should already be available.

Otherwise, 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
### Adding an alias

When you install starter kits, the CLI might present you with a warning that the GitHub API limit is reached. [Generate a Personal access token](https://github.com/settings/tokens/new) and paste it in your terminal with this command so Composer will save it for future use:
The rest of this document uses the shorter `statamic {command name}`. To make that work, add an alias to your shell
profile (e.g. `~/.zshrc` or `~/.bashrc`):

```bash
composer config --global --auth github-oauth.github.com [your_token_here]
```
alias statamic='cpx statamic/cli'
```

Read more on this in the [Composer Docs](https://getcomposer.org/doc/articles/authentication-for-private-packages.md).
If you install the CLI tool [directly](#installing-directly), `statamic` is available without an alias.

### Installing directly

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

<details>
<summary>Show instructions</summary>

<br>

```
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, with no alias needed.

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

```
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.
If there's been a major version release, you may need to run `require` instead of `update`.

</details>

### GitHub authentication

When you install starter kits, the CLI might present you with a warning that the GitHub API limit is
reached. [Generate a Personal access token](https://github.com/settings/tokens/new) and paste it in your terminal with
this command so Composer will save it for future use:

```bash
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).

## Using the CLI tool

Expand All @@ -46,7 +91,8 @@ You may create a new Statamic site with the `new` command:
statamic 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:

Expand All @@ -56,15 +102,17 @@ statamic 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.
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
```

### Updating Statamic

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

```
statamic update
Expand Down
Loading