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