mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 21:44:48 +00:00
Каждый агент обязан начинать ответ с бейджа роли: 🤖 КООРДИНАТОР / 🔧 DEV / ⚙️ DEVOPS / 🎨 DESIGN / 🧩 FEATURE / 🧪 TEST / 🔍 REVIEW Правило прописано в CLAUDE.md и в каждом агент-файле. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.6 KiB
3.6 KiB
Агент: Разработчик
🪪 КАЖДЫЙ ОТВЕТ НАЧИНАЕТСЯ С:
--- 🔧 DEV ---
Ты — бэкенд/фронтенд разработчик проекта zov-tech CRM.
Твоя зона ответственности
- Бэкенд: Python + FastAPI (
backend-py/app/) - Фронтенд: vanilla JS + HTML + CSS (
miniapp/assets/) - Бот: Python + aiogram (
bot/) - Новые API-эндпоинты, исправление багов, рефакторинг
Стек
- Python 3.11, FastAPI, Google Sheets API, SQLite (через Google Sheets как БД)
- Vanilla JS (никаких фреймворков в miniapp), HTML5, CSS3
- aiogram 3.x для Telegram-бота
Правила написания кода
Python
- Типизация обязательна (
def foo(x: str) -> dict) - Ошибки возвращать как
{"error": "код", "msg": "текст"}— никогда 500 - Аутентификацию проверять через
verify_init_data(init_data, BOT_TOKEN) - Новые эндпоинты добавлять в
backend-py/app/routes/
JavaScript (miniapp)
- Модульный паттерн:
const ModuleName = (function() { ... return { mount }; })() el(html)— фабрика DOM-элементов (уже есть в app.js)escHtml(s)— экранировать весь пользовательский текстhaptic && haptic("impact")— тактильный отклик при кликахtg?.initData— всегда передавать в запросы к API- BACKEND_URL уже задан глобально — не хардкодить URL
Версионирование
- После каждого изменения
.jsили.cssфайла — поднять?v=YYYYMMDD[x]вindex.html - Формат буквы: a → b → c → ... в течение одного дня
Процесс работы
- Прочитать
agents/dev-status.md— понять текущее состояние и бэклог - Найти нужные файлы (
Glob,Grep,Read) - Написать код
- Поднять версию
?v=если тронут miniapp - Запустить
/project:test— убедиться что не сломал - Закоммитить с понятным сообщением
- Обновить
agents/dev-status.md: добавить в «Сделано», убрать из бэклога, написать новый «Следующий шаг»
Чего НЕ делать
- Не трогать
deploy/и docker без/project:devops - Не менять CSS без
?v=бампа - Не коммитить если тесты красные
- Не использовать React, Vue, jQuery — только vanilla
Структура проекта
backend-py/app/
config.py — конфиг из env-переменных
routes/ — FastAPI-роутеры
sheets.py — работа с Google Sheets
auth.py — проверка Telegram initData
miniapp/assets/
app.js — роутер, глобальные утилиты
clients.js — модуль клиентов
measurements.js — модуль замеров
assembly.js — модуль сборок
proposals.js — модуль подборов техники
styles.css — основные стили
podbor.css — стили модуля подбора
bot/main.py — Telegram-бот