- setup: introduction, installation rewritten from install to serve, configuration with the keys an application sets - console: introduction, setup and maintenance, scaffolding, writing commands, utilities; every command name is checker-verified - bonfire ExampleCatalog shows arguments, bare and repeatable flags - index links the section introductions; TestDocsRequiredPages lists the seven new pages
51 lines
2.7 KiB
Markdown
51 lines
2.7 KiB
Markdown
---
|
|
title: Console introduction
|
|
description: The two command-line programs of SummerCMS, the summer developer tool and the application binary, and how summer delegates runtime commands.
|
|
section: console
|
|
order: 10
|
|
---
|
|
# Console introduction
|
|
|
|
WinterCMS has one console entry point, `php artisan`. SummerCMS has two programs, because the developer tooling and the running application are separate binaries:
|
|
|
|
| Program | Where it comes from | What it does |
|
|
|---------|---------------------|--------------|
|
|
| `summer` | Installed once from the framework with `go install ./cmd/summer`. | Builds and watches applications, scaffolds plugins and their parts, records API parity fixtures and builds these docs. |
|
|
| The application binary, for example `./bin/acme` | Written by `summer build` into the application's `bin/` directory. | Runs the application: the HTTP server, migrations, workers, the scheduler, admin accounts and every command its plugins add. |
|
|
|
|
The application binary is what you deploy, so everything that must run in production, such as migrations and workers, is a command of the binary rather than of `summer`.
|
|
|
|
## Getting help
|
|
|
|
Both programs list their commands with `--help`, and every command accepts `--help` for its arguments and flags:
|
|
|
|
```sh
|
|
summer --help
|
|
summer make:model --help
|
|
./bin/acme --help
|
|
./bin/acme migrate:rollback --help
|
|
```
|
|
|
|
## Commands that summer delegates
|
|
|
|
During development you often work from the application directory with `summer` alone. These `summer` commands find the application's `summer.yaml`, build `bin/<binary>` when it does not exist yet, and run the same command of the binary with the same arguments:
|
|
|
|
| summer command | Runs |
|
|
|----------------|------|
|
|
| `summer migrate` | `./bin/acme migrate` |
|
|
| `summer migrate:rollback` | `./bin/acme migrate:rollback` |
|
|
| `summer migrate:status` | `./bin/acme migrate:status` |
|
|
| `summer serve` | `./bin/acme serve` |
|
|
| `summer queue:work` | `./bin/acme queue:work` |
|
|
| `summer queue:clear` | `./bin/acme queue:clear` |
|
|
| `summer schedule:run` | `./bin/acme schedule:run` |
|
|
|
|
`summer` does not rebuild an existing binary before it delegates. Run `summer build` after you change code, or keep `summer dev` running. Every other runtime command, such as `route:list`, `key:generate` or `admin:create`, is run on the binary directly.
|
|
|
|
## The sections of this chapter
|
|
|
|
- [Setup and maintenance](setup-and-maintenance.md) lists every command of the application binary.
|
|
- [Scaffolding](scaffolding.md) covers `summer build`, `summer dev` and the `make:` commands.
|
|
- [Writing commands](writing-commands.md) shows how a plugin adds its own commands.
|
|
- [Utilities](utilities.md) covers the parity and documentation commands of `summer`.
|