Files
create/README.md
S.Gromov f0daed180f feat: автодополнение и детект режима запуска
- Добавлены служебные команды __list-templates/__list-vars и генерация completion для bash/
    zsh/fish
  - Введён детект режимов запуска (npx/local/direct/global) и применён в проверке обновлений
  - Обновлены help и документация (README, FEATURES)
2026-01-27 13:07:44 +03:00

74 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# @gromlab/create
CLI-утилита для генерации файлов из шаблонов.
## Установка
Глобально:
```bash
npm i -g @gromlab/create
```
При запуске CLI проверяет доступность новой версии. Если вы выбираете «нет»,
повторный запрос появится через 24 часа. Чтобы пропустить проверку, используйте
флаг `--skip-update`.
## Автодополнение
Сгенерируйте скрипт и подключите его в оболочке:
```bash
gromlab-create completion --shell bash
```
## Использование
```bash
npx @gromlab/create <шаблон> <имя> [путь] [опции]
```
Если `[путь]` не указан, файлы создаются в директории, где запущен CLI.
## Пример
```bash
# Создать компонент из шаблона
npx @gromlab/create component Button
# Указать папку вывода позиционно
npx @gromlab/create component Button src/components
```
## Шаблоны
Шаблоны хранятся в папке `.templates/`. Каждая подпапка — отдельный шаблон.
```
.templates/
└── component/
├── {{name.pascal}}/
│ ├── index.ts
│ ├── {{name.pascal}}.tsx
│ └── {{name.pascal}}.module.css
```
### Переменные
В именах файлов и содержимом доступны переменные:
- `{{name}}` — исходное значение
- `{{name.pascal}}` — PascalCase
- `{{name.camel}}` — camelCase
- `{{name.kebab}}` — kebab-case
- `{{name.snake}}` — snake_case
Переменная `name` задается только позиционным аргументом `<имя>`. Использование `--name` запрещено.
## Опции
| Опция | Описание |
|-------|----------|
| `--overwrite` | Перезаписать существующие файлы |
| `--skip-update` | Не проверять обновления CLI |
| `--<переменная> <значение>` | Произвольная переменная шаблона |