- Отвечай ВСЕГДА на русском (кроме кода и идентификаторов)
- Backend: uvicorn backend.main:app --reload --port 8000 (фоново)
- Frontend: npm run dev (фоново, порт 3000)
- Порты фиксированы (8000 API / 3000 Front). При конфликте — убить процесс, НЕ менять порт.
- Шаг Health: пустые списки условий/ограничений → ['none']
- Аллергены показывать только при выборе пищевой аллергии
- Не создавать корневые package.json / tsconfig.json
- Архитектура модульная: идём от стартовых экранов к функциям, заменяя мок‑заглушки на реальные реализации
- Dev DB: SQLite (быстрая итерация); Prod DB: Postgres
- Все страницы оптимизировать для Telegram Mini App (viewport, отсутствие лишних скроллов, touch-first)
- GitHub origin: Dmitrii-rgszh/NutriAI (проверять git remote -v)
Всегда отвечать пользователю на русском языке. Если пользователь явно просит другой язык — запросить подтверждение и только после этого переключаться.
Backend:
cd C:\TRAIN\NUTRIAI
uvicorn backend.main:app --reload --port 8000
Frontend:
cd C:\TRAIN\NUTRIAI\frontend
npm run dev
- Backend: FastAPI + SQLAlchemy + SQLite (файл: nutriai_fresh.db)
- Frontend: React + TypeScript + Vite + Tailwind CSS
- База данных: Расширенная схема User с полями здоровья
- Prod отличие: на проде Postgres; локально для скорости и простоты SQLite. Код писать с учётом совместимости (миграции Alembic).
- Каркас приветствия / загрузка WebApp
- Онбординг профиля (минимум обязательных полей)
- Главная панель и навигация (кнопки / каркас разделов)
- Мок‑модули (Vision, питание, аналитика) возвращают статический/фиктивный JSON
- Постепенная замена моков на реальные эндпоинты
- Добавление состояний loading / error / empty на каждом этапе
- Тонкая оптимизация UX (анимации, skeleton, адаптация под Telegram theme)
- Избегать горизонтальных скроллов
- Высоту учитывать:
window.Telegram.WebApp.viewportStableHeight
- Светлая/тёмная тема: использовать переданные
themeParams
- Минимизировать первый контентный вес (ленивая загрузка тяжёлых модулей)
- Модальные окна не перекрывают системную top‑панель Telegram
C:\TRAIN\NUTRIAI\
├── backend/ # FastAPI сервер
├── frontend/ # React приложение
├── database/ # SQLite файлы
└── .copilot-instructions.md # ЭТОТ ФАЙЛ!
- Цвета: Emerald gradient (from-emerald-400 to-teal-400)
- Фон: from-gray-900 via-gray-800 to-emerald-900
- Анимации: Частицы, переходы, слайдеры
- Мобильный: Responsive design для iPhone
- Hover: НЕ использовать hover-эффекты; заменять на визуальные состояния при touch/active.
- PersonalDataStep: Пол, возраст, рост, вес
- GoalStep: Цель (похудеть/набрать/поддержать)
- ActivityStep: Активность, сон, вода
- HealthStep: Здоровье, диета, аллергены
- ✅ Унифицирован дизайн 4-го шага
- ✅ Добавлено модальное окно подтверждения
- ✅ Убраны дубли "сон" и "вода" из 4-го шага
- ✅ Аллергены показываются только при "Пищевой аллергии"
- ✅ Добавлен файл PROJECT_POLICY.md (приоритеты и ответы пользователя)
- ✅ Политика: временные тестовые файлы удалять после успешной проверки
- ✅ Зафиксирован GitHub репозиторий (origin → https://github.com/Dmitrii-rgszh/NutriAI)
Remote должен быть:
origin https://github.com/Dmitrii-rgszh/NutriAI.git (fetch)
origin https://github.com/Dmitrii-rgszh/NutriAI.git (push)
Если отсутствует:
git remote add origin https://github.com/Dmitrii-rgszh/NutriAI.git
Порядок пуша:
git add .
git commit -m "chore: update instructions (origin documented)"
git push origin master
Перед пушем: убедиться что husky hook прошёл (нет hover:, нет временных тестовых файлов).
- Запускать серверы ТОЛЬКО в background mode
- Использовать правильные пути для импортов
- Проверять isBackground=true при run_in_terminal
Обновлено: 06.09.2025