Files
create/README.md

85 lines
2.5 KiB
Markdown
Raw Normal View History

2026-01-26 20:31:06 +03:00
# @gromlab/create
CLI-утилита для генерации файлов из шаблонов.
## Установка
Глобально:
```bash
npm i -g @gromlab/create
```
При запуске CLI проверяет доступность новой версии. Если вы выбираете «нет»,
повторный запрос появится через 24 часа. Чтобы пропустить проверку, используйте
флаг `--skip-update`.
## Автодополнение
Установка вместе с автодополнением (одной командой):
**bash**
```bash
npm i -g @gromlab/create && create install-autocomplete --shell bash && source ~/.bashrc
```
**zsh**
```bash
npm i -g @gromlab/create && create install-autocomplete --shell zsh && source ~/.zshrc
```
**fish**
```bash
npm i -g @gromlab/create && create install-autocomplete --shell fish && exec fish
```
2026-01-26 20:31:06 +03:00
## Использование
```bash
create <шаблон> <имя> [путь] [опции]
2026-01-26 20:31:06 +03:00
```
Если `[путь]` не указан, файлы создаются в директории, где запущен CLI.
2026-01-26 20:31:06 +03:00
## Пример
```bash
# Создать компонент из шаблона
create component Button
2026-01-26 20:31:06 +03:00
# Указать папку вывода позиционно
create component Button src/components
2026-01-26 20:31:06 +03:00
```
## Шаблоны
Шаблоны хранятся в папке `.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` запрещено.
2026-01-26 20:31:06 +03:00
## Опции
| Опция | Описание |
|-------|----------|
| `--overwrite` | Перезаписать существующие файлы |
| `--skip-update` | Не проверять обновления CLI |
2026-01-26 20:31:06 +03:00
| `--<переменная> <значение>` | Произвольная переменная шаблона |