Files

2.5 KiB

📄 Обновленный UX-манифест

Определение контекста

  • Папка проекта: папка, в которой есть deploy.toml или путь к которой прописан в глобальном конфиге.
  • Приоритет загрузки конфига: --config \rightarrow файл проекта (deploy.toml) \rightarrow глобальный конфиг. Флаг --global (-g) принудительно оставляет только глобальный конфиг.

1. Запуск без подкоманд (xd [FLAGS])

Проверка: находимся ли мы в папке проекта?

  • Да — выводит краткую информацию по текущему проекту и подсказку: To deploy current project run 'xd deploy'
  • Нет — выводит список проектов из глобального конфига.

2. Подкоманда xd deploy [PROJECT_NAME]

Логика определения цели деплоя:

  1. Если PROJECT_NAME указан: деплоить проект с этим именем из текущего конфига.
  2. Если PROJECT_NAME НЕ указан:
  • Мы в папке проекта \rightarrow деплоить текущий проект.
  • Мы НЕ в папке проекта \rightarrow завершить работу с понятной ошибкой и подсказкой: Error: Project not found in current directory. Specify PROJECT_NAME or run 'xd pick' / 'xd list'

3. Список подкоманд

  • xd deploy [PROJECT] — запустить деплой проекта (текущего или указанного).
  • xd list (алиас: ls) — вывести список проектов из текущего конфига.
  • xd list-servers — вывести список серверов из текущего конфига.
  • xd pick — интерактивный выбор проекта из текущего конфига с последующим деплоем.

4. Глобальные флаги (доступны для любых подкоманд)

  • -c, --config <FILE> — путь к файлу конфигурации.
  • -g, --global — использовать только глобальный конфиг (_конфликтует с --config_).
  • --dry-run — прогон без выполнения действий.