Files
create/docs/ru/FEATURES.md

72 lines
3.6 KiB
Markdown
Raw Normal View History

# Возможности 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` — запуск без проверки обновлений.
## Автодополнение
- Генерация скрипта автодополнения для bash/zsh/fish: `gromlab-create completion --shell <shell>`.
- Автодополнение доступно только для глобальной установки CLI.
- Автодополнение шаблонов из `.templates/` и переменных `--<var>` выбранного шаблона (кроме `name`).
## Обновления 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`).