- Обновлены примеры в README и FEATURES с использованием алиаса create - Исправлены подсказки help на основной бин gromlab-create - Возвращены внутренние вызовы автодополнения на gromlab-create
72 lines
3.8 KiB
Markdown
72 lines
3.8 KiB
Markdown
# Возможности 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: `create completion --shell <shell>`.
|
||
- Автодополнение доступно только для глобальной установки CLI.
|
||
- Автодополнение шаблонов из ближайшей `.templates/` (по дереву вверх) и переменных `--<var>` выбранного шаблона (кроме `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`).
|