# Deploya CLI

Deploya CLI публикует готовые статические сайты из терминала и подходит для AI-агентов, Codex, Claude Code и CI.

## Быстрый старт без установки

Требуется Node.js 20 или новее.

```bash
npx @deploya-app/cli login
cd my-site
npx @deploya-app/cli deploy --dir dist --prod
```

При первом деплое CLI автоматически создаст проект, подберёт свободный поддомен и сохранит идентификатор в `.deploya/project.json`. Следующий запуск обновит тот же проект. CLI ищет привязку и в родительских папках, поэтому запуск из `dist` не создаст копию.

Глобальная установка необязательна:

```bash
npm install -g @deploya-app/cli
deploya login
deploya deploy --dir dist --prod
```

## Команды

- `deploya login` — открыть браузер и подключить CLI к аккаунту.
- `deploya status` — аккаунт, тариф, хранилище, остаток проектов и текущая привязка.
- `deploya whoami` — проверить текущий аккаунт и лимиты.
- `deploya projects` — показать проекты и свободные места тарифа.
- `deploya teams` — показать команды и их ID.
- `deploya link --project ID` — привязать текущую папку к существующему проекту.
- `deploya deploy --dir dist --prod` — опубликовать production-версию.
- `deploya deploy --dir dist` — создать preview существующего связанного проекта.
- `deploya project update --subdomain new-name` — изменить адрес связанного проекта без создания копии.
- `deploya project update --name "Новое имя"` — переименовать проект.
- `deploya project stop|start` — остановить или снова запустить сайт.
- `deploya stats` — просмотры и популярные страницы.
- `deploya versions list` — версии; `versions restore --version ID --yes` — восстановление.
- `deploya domains list|add|check|remove` — управление кастомными доменами и DNS-инструкции.
- `deploya project delete --yes` — безвозвратно удалить проект.
- `deploya logout` — удалить локальный токен.

Дополнительные параметры деплоя: `--name`, `--subdomain`, `--entrypoint`, `--project`, `--team`, `--json`, `--api`.

## AI и CI

AI-агент сначала выполняет `deploya status` и `deploya projects`, чтобы увидеть аккаунт и выбрать существующий проект. Для смены поддомена используется только `project update`, а не создание нового production-проекта. Команды delete, remove и restore требуют `--yes` и прямого согласия пользователя.

Если сохранённая сессия создана старой версией CLI и не имеет права `projects:write`, один раз выполните `deploya logout`, затем `deploya login`.

Для CI создайте API-токен в Deploya и передайте его секретом окружения:

```bash
DEPLOYA_TOKEN=dpl_live_... npx @deploya-app/cli deploy --dir dist --prod
```

CLI никогда не добавляет в архив `.git`, `.deploya`, `node_modules`, `.env` и файлы `.env.*`.
