# Разработчику — работа с репозиторием neon-bar86.ru Репозиторий: `git.merrow.dev/merrow/neon-bar86.ru` (Gitea). Стек: `site/` — сайт (Vite + nginx), `crm/` — CRM API (чистый Python; в проде PostgreSQL, в тестах SQLite). ## Первый раз 1. Сгенерируй SSH-ключ и добавь публичный ключ в Gitea: Настройки → **SSH / GPG ключи**. 2. Склонируй: ```bash git clone ssh://git@git.merrow.dev:22022/merrow/neon-bar86.ru.git ``` 3. Проверь локально, что тесты идут (Docker не нужен — тесты работают на SQLite): ```bash cd crm py -m pytest tests -q # Windows; на Linux/macOS: python3 -m pytest tests -q ``` Ожидается `27 passed`. Каталог `crm/data/` создастся сам — он в `.gitignore`. ## Работа над фичей ```bash git switch main && git pull git switch -c feature/<краткое-имя> # ...код... cd crm && py -m pytest tests -q # локальный прогон перед пушем git add -A && git commit -m "кратко: что сделано" git push -u origin feature/<имя> ``` - Пуш ветки запускает **тесты** в CI: репо → **Действия** (Actions) — смотри статус, красный = чини. - **Деплой на сайт делает девопс** — код попадает на прод только через `main`. ## Правила - В `main` напрямую не пушим: через Pull Request («Запрос на слияние») или по согласованию с девопсом. - Секреты и данные не коммитим: `.env`, `crm/media/`, `crm/data/` — в `.gitignore`; `git add -f` для них запрещён. - Новая логика CRM — с тестом в `crm/tests/` (тесты крутят настоящий сервер на SQLite, см. соседние тесты как образец). - Помни: состав/цена заказа валидируются **только по каталогу CRM** — данным клиента на фронте верить нельзя.