4.3 KiB
4.3 KiB
Veilix — правила для сессий Claude
Сервис продажи VPN двух брендов на одном бэкенде: Вейликс (dedicated, veilix.app) и ВейликсВПН (mass, veilixvpn.com). Карта документации — docs/00-index.md.
1. Порядок работы в сессии
- Прочитай этот файл, затем docs/00-index.md и файл текущего этапа в docs/stages/. Остальные документы — по ссылкам из файла этапа.
- Перед началом работ сверь с пользователем план этапа: что делаем, что не делаем, какие вопросы открыты. Код не пишем, пока план этапа не подтверждён.
- Нашлось противоречие между документами, макетом и задачей — сначала обсуждаем, потом делаем.
- Есть отраслевой стандарт лучше предложенного решения или решение получается кастомным — обсуди с пользователем.
- В конце этапа обнови документацию: статус этапа в docs/00-index.md, решения в docs/decisions/, изменения модели данных в docs/03-data-model.md.
2. Общение
- Язык — русский.
- Нумерация пунктов в чате и в документации — только цифры и латинские буквы (1, 2, 3 и a, b, c). Кириллические буквы как маркеры не используем: не путаются латинская A и русская А, латинская B и русская В.
3. Сервер и права
- Всё, что требует root (пакеты, nginx, сертификаты, роли PostgreSQL, Postfix, DNS,
loginctl), делает пользователь. Сформулируй, что и зачем нужно сделать, и жди. Обходные пути внутри своего пользователя не ищем. - Окружения на одном сервере, под разными пользователями ОС:
a. dev — пользователь vx_dev (под ним работают сессии Claude):
/home/vx_dev/veilix_dev(рабочая копия git), базаveilix_dev, доменыdev.*, порт 3100; b. prod — пользователь vx_prod:/home/vx_prod/veilix(релизы и симлинкcurrent), базаveilix_prod, основные домены, порт 3000. У vx_dev доступа к prod нет. - Выкладка в prod — только по явной команде пользователя в текущей сессии и только командой выкладки (docs/02-architecture.md, раздел 5).
4. Технические правила
- Стек и версии — docs/02-architecture.md. Payload 3.x; код пишем совместимо с Payload 4: в Local API всегда явно указываем
overrideAccess. - ID — только UUID (
idType: 'uuid'). Наружу не отдаём последовательных номеров: номера заказов, ключей и реферальные коды — случайные. - Деньги — целые числа в минимальных единицах (копейки, центы) плюс код валюты. Никаких float.
- Секреты — только в
.envвне git. - Тексты интерфейса — через next-intl, контент — локализованные поля Payload. Строк на одном языке в коде компонентов нет.
- Макеты — в design/handoff/project/. Воспроизводим их по коду макетов (разметка, CSS-переменные), а не по скриншотам.
- Коммиты и push в Gitea — по просьбе пользователя.
5. Команды
Заполняется на этапе 1a.