# Hado — 波 · ядро умных уведомлений Сервисы пушат события с датой, ядро само считает каскад напоминаний, окна и доставляет туда, где ты сейчас доступен (веб, Telegram, webhook/Home Assistant). Спека: `docs/superpowers/specs/2026-09-03-hado-core-design.md`. ## Dev ```bash cp core/.env.example core/.env docker compose up -d --build docker compose exec app php artisan key:generate docker compose exec app php artisan migrate docker compose exec app php artisan hado:source:create docs # токен печатается один раз ``` - http://localhost:8080/ — инбокс (нужен заголовок `X-Remote-User`; локально: расширение браузера для заголовков или `curl -H 'X-Remote-User: nikita' localhost:8080/me`) - `PUT /api/events` с `Authorization: Bearer <токен>` — см. спеку §5 Тесты локально: `cd core && php artisan test` (SQLite in-memory, нужны расширения `pdo_sqlite`, `intl` в php.ini). Стиль: `vendor/bin/pint`. ## Telegram 1. Создай бота у @BotFather, положи токен и username в `core/.env`. 2. Придумай `TELEGRAM_WEBHOOK_SECRET`, зарегистрируй webhook: `curl "https://api.telegram.org/bot/setWebhook?url=https://hado.<домен>/hooks/telegram&secret_token="` 3. В инбоксе «Подключить Telegram» → отправь боту `/start <код>`. ## Home Assistant В инбоксе добавь webhook-канал: `deliver_url` — HA webhook-триггер (`https://ha/api/webhook/`), `presence_url` — любой URL, отвечающий `{"present": true|false}` (например, template-сенсор через REST API или Node-RED). Автоматизация в HA получает JSON `{event, actions}` и может дёрнуть `actions.done` POST-ом без авторизации. ## Прод `core/Dockerfile` (serversideup/php), compose с `scheduler` и `worker`, Caddy — `deploy/Caddyfile.snippet` в хаб sekai. Compose в репозитории — dev-стек (`Dockerfile.dev`, `artisan serve`); прод-сборка через `core/Dockerfile` (serversideup/php) описана, но не проверена — отдельный шаг перед деплоем.