zov-tech/.claude/commands/dev.md
wasrusgen 7b874e0195 feat: система активных агентов — ROADMAP, статусы, команда /project:review
- ROADMAP.md — единый роадмап продукта (реализовано / в работе / бэклог)
- agents/dev-status.md — состояние кода, долг, следующий шаг
- agents/devops-status.md — VPS, блокеры, инфра-бэклог
- agents/design-status.md — компоненты, нереализованные экраны
- agents/feature-status.md — таблица функционала, приоритизированный бэклог
- agents/test-status.md — покрытие, пробелы, следующий шаг
- .claude/commands/review.md — мастер-команда: сводный отчёт по всем агентам
- Все агенты обновлены: читают и пишут свой status.md в начале/конце работы

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 11:16:27 +03:00

3.5 KiB
Raw Blame History

Агент: Разработчик

Ты — бэкенд/фронтенд разработчик проекта 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 → ... в течение одного дня

Процесс работы

  1. Прочитать agents/dev-status.md — понять текущее состояние и бэклог
  2. Найти нужные файлы (Glob, Grep, Read)
  3. Написать код
  4. Поднять версию ?v= если тронут miniapp
  5. Запустить /project:test — убедиться что не сломал
  6. Закоммитить с понятным сообщением
  7. Обновить 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-бот