2026-01-27 12:33:11 +03:00
|
|
|
|
# Возможности CLI
|
|
|
|
|
|
|
|
|
|
|
|
Ниже перечислены текущие возможности `@gromlab/create`.
|
|
|
|
|
|
|
|
|
|
|
|
## Основные
|
|
|
|
|
|
|
|
|
|
|
|
- Генерация файлов и папок по шаблонам из каталога `.templates/`.
|
|
|
|
|
|
- Обязательный позиционный аргумент `<имя>` (переменная `name`).
|
|
|
|
|
|
- Опциональный позиционный `[путь]` — папка вывода (по умолчанию текущая директория).
|
|
|
|
|
|
- Произвольные переменные шаблонов через `--<var> <value>`.
|
|
|
|
|
|
- Подстановка переменных в **содержимом** файлов и **путях**.
|
|
|
|
|
|
|
|
|
|
|
|
## Модификаторы переменных
|
|
|
|
|
|
|
|
|
|
|
|
Поддерживаются модификаторы для `{{var}}`:
|
|
|
|
|
|
- `{{name.pascalCase}}`
|
|
|
|
|
|
- `{{name.camelCase}}`
|
|
|
|
|
|
- `{{name.snakeCase}}`
|
|
|
|
|
|
- `{{name.kebabCase}}`
|
|
|
|
|
|
- `{{name.screamingSnakeCase}}`
|
|
|
|
|
|
- `{{name.upperCase}}`
|
|
|
|
|
|
- `{{name.lowerCase}}`
|
|
|
|
|
|
- `{{name.upperCaseAll}}`
|
|
|
|
|
|
- `{{name.lowerCaseAll}}`
|
|
|
|
|
|
|
|
|
|
|
|
## Режимы и защита от перезаписи
|
|
|
|
|
|
|
|
|
|
|
|
- `--overwrite` — разрешает перезапись существующих файлов.
|
|
|
|
|
|
- Проверка коллизий файлов и существующих директорий (с понятными ошибками/предупреждениями).
|
|
|
|
|
|
|
|
|
|
|
|
## Отчёт и визуализация
|
|
|
|
|
|
|
|
|
|
|
|
- Печать итогового отчёта: имя, путь(и), дерево файлов, список переменных.
|
|
|
|
|
|
|
|
|
|
|
|
## Диагностика и подсказки
|
|
|
|
|
|
|
|
|
|
|
|
- Подробные ошибки валидации аргументов.
|
|
|
|
|
|
- Список доступных шаблонов, если запрошенный не найден.
|
|
|
|
|
|
- Подсказки для недостающих переменных.
|
|
|
|
|
|
- `-h`/`--help` — вывод справки.
|
|
|
|
|
|
- `--skip-update` — запуск без проверки обновлений.
|
|
|
|
|
|
|
2026-01-27 13:07:44 +03:00
|
|
|
|
## Автодополнение
|
|
|
|
|
|
|
|
|
|
|
|
- Генерация скрипта автодополнения для bash/zsh/fish: `gromlab-create completion --shell <shell>`.
|
|
|
|
|
|
- Автодополнение доступно только для глобальной установки CLI.
|
2026-01-27 13:34:09 +03:00
|
|
|
|
- Автодополнение шаблонов из ближайшей `.templates/` (по дереву вверх) и переменных `--<var>` выбранного шаблона (кроме `name`).
|
2026-01-27 13:07:44 +03:00
|
|
|
|
|
2026-01-27 12:33:11 +03:00
|
|
|
|
## Обновления CLI
|
|
|
|
|
|
|
|
|
|
|
|
- При запуске (не через `npx`) проверяется доступность новой версии в npm.
|
|
|
|
|
|
- Если пользователь отвечает «нет», повторный запрос появится через 24 часа.
|
|
|
|
|
|
- В неинтерактивном режиме (без TTY) запрос не показывается.
|
|
|
|
|
|
|
2026-01-27 13:07:44 +03:00
|
|
|
|
## Режимы запуска
|
|
|
|
|
|
|
|
|
|
|
|
- CLI определяет режим запуска: `npx`, `local`, `direct`, `global`.
|
|
|
|
|
|
- `npx` — запуск через `npx`/`npm exec` (проверка обновлений не выполняется).
|
|
|
|
|
|
- `local` — запуск из `node_modules/.bin`.
|
|
|
|
|
|
- `direct` — запуск через `node ./dist/cli.js` в текущем проекте.
|
|
|
|
|
|
- `global` — глобально установленный CLI.
|
|
|
|
|
|
|
2026-01-27 12:33:11 +03:00
|
|
|
|
## Бины
|
|
|
|
|
|
|
|
|
|
|
|
- Основной бин: `gromlab-create`.
|
|
|
|
|
|
- Дополнительный алиас: `create`.
|
2026-01-27 13:07:44 +03:00
|
|
|
|
|
|
|
|
|
|
## Служебные команды
|
|
|
|
|
|
|
|
|
|
|
|
- `__list-templates` — выводит список доступных шаблонов (для автодополнения).
|
|
|
|
|
|
- `__list-vars <шаблон>` — выводит переменные выбранного шаблона (кроме `name`).
|