56 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Frontend Infrastructure Hardening
Дата: 2026-06-23
Статус: выполнено
## Контекст
Во frontend уже есть базовый tooling stack, но инфраструктурные решения собраны в несколько разных
зон: HTTP-клиент, mock-режим, env validation, routing, linting/formatting и OpenAPI-generated types.
После крупных миграций осталось несколько точек, которые нужно довести до устойчивого состояния и
убрать смешение временных и целевых решений.
Эта фича не про новый user-facing функционал. Она закрывает инфраструктурный долг, который мешает
предсказуемым локальным запускам, стабильной разработке и ясности контрактов.
## Цель
Стабилизировать frontend infrastructure/tooling так, чтобы ключевые developer workflows были
детерминированными и не опирались на временные компромиссы.
## Требования
### 1. Browser mock mode
Должен быть documented и поддержан browser mock mode для локального запуска frontend без backend при
явном флаге окружения. Этот режим не должен влиять на обычный production/dev without mock сценарий.
### 2. Env validation
Все обязательные frontend env variables должны проверяться при старте приложения, чтобы ошибки
конфигурации были видимы сразу, а не проявлялись как runtime failure.
### 3. Tooling consistency
Скрипты lint/test/build должны оставаться согласованными с реальной структурой проекта и не должны
ссылаться на устаревшие команды или несуществующие файлы.
### 4. Contract freshness
Frontend tooling должен опираться на актуальные generated API types и public API entrypoints, а не на
устаревшие type shims или временные compatibility слои.
## Ограничения
- Не менять бизнес-логику frontend.
- Не переписывать routing architecture целиком в рамках этой фичи.
- Не затрагивать backend кроме чтения публичных контрактов.
## Критерии приемки
- Browser mock mode описан и согласован с текущими dev scripts.
- Валидация env обязательных переменных формализована и не конфликтует с текущим startup flow.
- Frontend tooling docs и scripts отражают реальное состояние проекта.
- Ссылки на API types и client surface не используют устаревшие документы.
- Не изменены runtime-scenarios пользовательского приложения.