Files
create/docs/ru/FEATURES.md
S.Gromov 1a48d6338f feat: улучшено автодополнение
- Добавлен поиск ближайшей .templates для списка шаблонов и переменных
  - Добавлен алиас zh для генерации zsh‑completion
  - Обновлена документация по автодополнению и версия пакета
2026-01-27 13:34:09 +03:00

3.7 KiB
Raw Blame 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).