CLI · Winter Console

Команда cfg

cfg разворачивает и поддерживает конфигурацию проекта: файл .env, секрет WINTER_KEY, Docker-обвязку и автодополнение оболочки. Это первое, что запускается при создании проекта, и то, к чему возвращаются при настройке окружения.

Субкоманды init · key · env · docker · completionПервый запуск cfg init

Что такое cfg и зачем

cfg — команда управления конфигурацией проекта.

Проблема. Новый проект нужно привести в рабочее состояние: создать .env, сгенерировать секретный ключ, при желании — Docker-файлы и автодополнение. Делать это руками — легко забыть шаг.

Решение. cfg собирает эти операции в субкоманды, а cfg init выполняет базовую настройку одной командой. Об этом и раздел.

Субкоманды

Субкоманда Назначение
init Патчит composer.json, создаёт .env, генерирует ключ, кладёт stub-мету
key Управление WINTER_KEY
env Управление файлом .env
docker Генерация Docker-файлов
completion Установка/печать автодополнения оболочки

cfg init

Приводит проект в рабочее состояние (вызывается автоматически при composer create-project):

bash
php call cfg init

Последовательность: патч composer.json (перезапись name и description, очистка authors/keywords) → создание .env → генерация WINTER_KEY.

cfg key — секретный ключ

Флаг Действие
key -g Сгенерировать/перегенерировать ключ (64 hex = 32 байта) и записать в .env
key -s Показать текущий ключ
bash
php call cfg key -g   # новый WINTER_KEY

Нужен .env

key -g предупредит и прервётся, если .env отсутствует — сначала создайте его (cfg env -i).

cfg env — файл окружения

Флаг Действие
env -i Создать .env из шаблона (пропускает, если существует)
env -s Напечатать загруженный $_ENV
env -s --file Напечатать сырое содержимое .env

cfg docker — Docker-обвязка

Опция Режим
--fpm FPM + Nginx (по умолчанию)
--swoole Swoole
bash
php call cfg docker --swoole

cfg completion — автодополнение

Флаг Действие
(без флага) Напечатать скрипт в stdout
-i Установить
-if Установить с перезаписью
bash
php call cfg completion -i

Оболочка определяется по $SHELL: zsh → ~/.zsh/completions/_call (добавляет fpath в ~/.zshrc), иначе bash → ~/.bash_completion.d/call.

Дальше