# 00. Карта документации ## 1. Документы | Файл | О чём | |---|---| | [01-product.md](01-product.md) | Бренды, домены, продукты, тарифы, бизнес-правила | | [02-architecture.md](02-architecture.md) | Стек, одно приложение на все домены, процессы, окружения, выкладка | | [03-data-model.md](03-data-model.md) | Коллекции Payload, поля, связи, статусы | | [04-billing.md](04-billing.md) | Счёт, заказы, платежи, продления, возвраты, ручные операции, рефералы | | [05-auth.md](05-auth.md) | Вход по коду, сессии, капча, Telegram, объединение аккаунтов, админка | | [06-i18n.md](06-i18n.md) | Языки, URL, определение языка, валютный переключатель, переводы | | [07-frontend.md](07-frontend.md) | Макеты, маршруты, токены, темы, производительность | | [08-integrations.md](08-integrations.md) | Почта, ALTCHA, MaxMind, Chatwoot, Twenty, Telegram, платёжные системы, Umami | | [09-infrastructure.md](09-infrastructure.md) | Сервер, nginx, systemd, PostgreSQL, DNS, бэкапы, задачи для root | | [10-security.md](10-security.md) | Безопасность и приватность | | [decisions/](decisions/) | Принятые решения: по файлу на решение | | [stages/](stages/) | Этапы: цель, границы, предусловия, шаги, критерии готовности | Исходная постановка — [history/HUMAN_IDEA.md](history/HUMAN_IDEA.md) (копия файла пользователя). Это история, а не источник истины: всё актуальное — в этих документах. ## 2. Этапы | Этап | Содержание | Статус | |---|---|---| | [0](stages/stage-0-docs.md) | Документация | готово | | [1a](stages/stage-1a-foundation.md) | Фундамент: Next + Payload, сайты, домены, языки, валюты, темы | готово | | [1b](stages/stage-1b-marketing.md) | Маркетинговые страницы обоих брендов, контент, формы с ALTCHA, SEO, юр. тексты | не начат | | [1c](stages/stage-1c-auth.md) | Вход по коду, почта, сессии | не начат | | [1d](stages/stage-1d-billing.md) | Биллинг без эквайринга, оформление заказа, продления | не начат | | [1e](stages/stage-1e-keys.md) | Ключи и подключения, ручная выдача | не начат | | [1f](stages/stage-1f-cabinet.md) | Веб-кабинеты обоих брендов | не начат | | [1g](stages/stage-1g-referral.md) | Реферальная программа | не начат | | [1h](stages/stage-1h-launch.md) | Переводы, Umami и баннер cookies, PageSpeed, выкладка в prod | не начат | | [2](stages/stage-2-support-crm.md) | Chatwoot и Twenty CRM | не начат | | [3](stages/stage-3-telegram.md) | Telegram: боты, MiniApp, вход и привязка | не начат | | [4](stages/stage-4-payments.md) | Платёжные системы: Stripe, RUB-процессинг, крипта | не начат | | [5](stages/stage-5-keys-automation.md) | Автоматизация выдачи ключей | обсуждение при старте | ## 3. Как запускать этап в новой сессии 1. Открыть сессию Claude под пользователем vx_dev в `/home/vx_dev/veilix_dev`. 2. Написать: «Этап 1a. Прочитай CLAUDE.md и docs/stages/stage-1a-foundation.md, сверим план». 3. Claude сверяет план и открытые вопросы этапа, вы подтверждаете, дальше — работа. 4. В конце Claude обновляет статус этапа в этой таблице и документацию. ## 4. Открытые вопросы ### 4.1 Решённые | № | Вопрос | Решение | Где отражено | |---|---|---|---| | Q-01 | Вторая валюта | USD | [D-010](decisions/D-010-currencies.md) | | Q-02 | Цены mass в USD, суммы пополнения и реферального бонуса | Mass: «Месяц» $6.99, «Год» $69.90. Пополнение: dedicated — 2 500, 5 000, 10 000 ₽ и $25, $50, $100; mass — 700, 2 100, 6 990 ₽ и $7, $21, $70. Реферальный бонус — не деньги, а 30 дней к ключу обоим | [01-product.md](01-product.md), разделы 6 и 10; [04-billing.md](04-billing.md), разделы 4 и 11; [D-025](decisions/D-025-referral-days.md) | | Q-03 | Валюта по умолчанию для нового посетителя | По языку: ru → RUB, остальные → USD; настраивается у домена | [06-i18n.md](06-i18n.md), раздел 6 | | Q-04 | Валюта аккаунта | Задаётся при регистрации из выбранной; меняется, пока баланс нулевой и нет ключей; дальше — через поддержку | [04-billing.md](04-billing.md), раздел 2 | | Q-05 | WG-конфиги mass на этапе 1 | Конфиги, добавленные администратором, по странам; другая страна — через поддержку; автоматически — этап 5 | [D-020](decisions/D-020-key-models.md) | | Q-06 | Где Umami | На этом сервере, без Docker, под пользователем `umami`; панель — `umi.veilix.cc` | [D-018](decisions/D-018-analytics.md) | | Q-07 | Как запускать сервисы | Каждый под своим пользователем ОС: vx_dev (dev), vx_prod (prod), umami; systemd user-юниты | [D-004](decisions/D-004-environments.md) | | Q-08 | Email поддержки брендов | `help@veilix.app` и `help@veilixvpn.com` | [01-product.md](01-product.md), раздел 11 | | Q-09 | Часовой пояс часов поддержки | Московское время | [01-product.md](01-product.md), раздел 11 | | Q-15 | Защита prod от сессий Claude | Отдельно не нужна: сессии Claude работают под vx_dev без доступа к prod, а под vx_prod нет ни редактора, ни ИИ-агентов | [D-004](decisions/D-004-environments.md) | | Q-16 | Где принимать почту поддержки | Ящики на внешнем почтовом хостинге, их настраивает пользователь (R-18). На этапе 2 письма из них забирает Chatwoot; до этого на сайте только адрес | [09-infrastructure.md](09-infrastructure.md), раздел 6; [08-integrations.md](08-integrations.md), раздел 4 | ### 4.2 Открытые Предложение по умолчанию действует, пока не решено иначе. | № | Вопрос | Предложение | Нужно к этапу | |---|---|---|---| | Q-10 | Имена Telegram-ботов: 2 основных, 2 поддержки, тестовые | — | 3 | | Q-11 | Оплата в Telegram: Stars, внешняя страница или только с баланса | — | 3 | | Q-12 | RUB-процессинг (KZ, TR) и криптопроцессинг: какие провайдеры | — | 4 | | Q-13 | Юрлицо для юридических текстов | Пока заглушки | 1h | | Q-14 | Куда складывать бэкапы prod-базы | — | 1h | | Q-17 | Нужны ли разные аккаунты одного провайдера для разных брендов | Пока нет. Если понадобятся — платёжной системе добавим поле «только для сайтов» | 4 | | Q-18 | Кто запускает выкладку в prod | Пользователь одной командой; по желанию — sudo-правило, разрешающее vx_dev запускать только команду выкладки от имени vx_prod | 1h | | Q-19 | Реферальный бонус днями: крайние случаи | Приглашённому тоже 30 дней; ключ готовится — дни добавятся при выдаче; «последний ключ» — купленный последним из неистёкших и неотменённых; такого нет — дни ждут следующего ключа; возврат заказа приглашённого бонус не отменяет ([D-025](decisions/D-025-referral-days.md)) | 1g |