CLI утилита umbot
Описание
CLI утилита umbot предназначена для быстрого создания и настройки новых проектов на базе umbot. Утилита позволяет:
- Создавать новые проекты по шаблонам
- Настраивать конфигурацию проекта
- Генерировать базовую структуру приложения
Установка
# Глобальная установка
npm install -g umbot
# Или локальная установка в проекте
npm install umbot --save-dev
Использование
Базовый синтаксис
umbot <команда> [параметры]
Доступные команды
Команда |
Описание |
Параметры |
create |
Создание нового проекта |
<project-name> или <config-file.json> |
generateEnv |
Сгенерировать файл .env |
- |
Создание проекта
Простое создание
umbot create my-bot-project
Создание с конфигурацией
Конфигурация проекта
Структура конфигурационного файла
interface ProjectConfig {
// Название проекта (обязательное поле)
name: string;
// Тип проекта: "default" или "quiz"
type?: 'default' | 'quiz';
// Режим работы: "prod", "dev", "dev-online", "build"
mode?: 'prod' | 'dev' | 'dev-online' | 'build';
// Конфигурация базы данных
config?: DatabaseConfig[];
// Параметры приложения
params?: AppParams[];
// Путь для создания проекта
path?: string;
// Имя хоста на котором будет запущено приложение. По умолчанию localhost
hostname?: string;
// Порт на котором будет запущено приложение. По умолчанию 3000
port?: string;
// Определяет нужно создавать .env файл или нет
isEnv?: boolean;
}
Пример конфигурационного файла
{
"name": "my-quiz-bot",
"type": "quiz",
"mode": "dev",
"path": "./bots/quiz",
"params": {
"viber_token": "token"
},
"config": {
"json": "./data",
"error_log": "./logs",
"isLocalStorage": true,
"db": {
"host": "",
"user": "",
"pass": "",
"database": ""
}
},
"isEnv": true
}
Типы проектов
Тип |
Описание |
Особенности |
default |
Базовый шаблон |
Минимальная структура проекта |
quiz |
Шаблон викторины |
Готовая структура для создания викторин |
Режимы работы
Режим |
Описание |
prod |
Продакшн режим |
dev |
Режим разработки |
dev-online |
Режим разработки с онлайн обновлением |
build |
Режим сборки |
Примеры использования
Создание простого бота
Создание викторины
{
"name": "quiz-bot",
"type": "quiz",
"mode": "dev",
"params": {
"json": "./data",
"error_log": "./logs",
"isLocalStorage": true
}
}
umbot create quiz-config.json
Лучшие практики
- Именование проектов:
- Используйте понятные имена
- Избегайте пробелов и специальных символов
- Придерживайтесь kebab-case
- Конфигурация:
- Храните конфигурацию в отдельных файлах
- Не включайте чувствительные данные в репозиторий
- Используйте разные конфигурации для разных окружений
- Структура проекта:
- Следуйте рекомендуемой структуре
- Размещайте файлы в соответствующих директориях
- Документируйте нестандартные решения