docs: consolidate product roadmap and source docs
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
# Frontend roadmap
|
||||
|
||||
## 1. Назначение документа
|
||||
|
||||
Этот документ фиксирует оставшийся фронтенд-backlog после уже выполненных крупных cleanup и refactoring slices.
|
||||
|
||||
Он заменяет старые review-документы и должен использоваться вместе с `TASKS.md`.
|
||||
|
||||
## 2. Что уже считается закрытым
|
||||
|
||||
Выполненными считаются следующие большие треки:
|
||||
|
||||
- базовая локализация и plural rules;
|
||||
- XSS hardening основных dynamic render paths;
|
||||
- template safety cleanup;
|
||||
- CSS state cleanup;
|
||||
- frontend build pipeline;
|
||||
- wizard modularization;
|
||||
- базовая frontend observability and testability;
|
||||
- websocket test-run polish;
|
||||
- command palette removal;
|
||||
- settings honesty initial pass.
|
||||
|
||||
## 3. Что остается актуальным
|
||||
|
||||
### 3.1. Product gating by edition
|
||||
|
||||
UI должен честно отражать различия редакций:
|
||||
|
||||
- Community не должен показывать доступные к настройке `WebSocket`, `SOAP`, `gRPC streaming`, если они не входят в открытую поставку;
|
||||
- `security_level = elevated` и `security_level = strict` не должны выглядеть рабочими в Community;
|
||||
- multi-user и enterprise controls должны скрываться или отображаться как capability-locked.
|
||||
|
||||
Основные файлы:
|
||||
|
||||
- `apps/ui/js/wizard.js`
|
||||
- `apps/ui/js/operations.js`
|
||||
- `apps/ui/js/agents.js`
|
||||
- `apps/ui/js/api-keys.js`
|
||||
- `apps/ui/js/settings.js`
|
||||
- `apps/ui/js/i18n.js`
|
||||
|
||||
### 3.2. Agent key UX
|
||||
|
||||
После перехода от platform/workspace keys к agent keys UI должен быть доведен до продуктового состояния:
|
||||
|
||||
- список ключей должен уметь показывать привязку к AI-агенту;
|
||||
- модалка создания ключа должна позволять выбрать режим и область применения;
|
||||
- copy должен объяснять, зачем нужен agent-scoped key и чем он отличается от будущих токенных режимов.
|
||||
|
||||
Основные файлы:
|
||||
|
||||
- `apps/ui/js/api-keys.js`
|
||||
- `apps/ui/js/agents.js`
|
||||
- `apps/ui/html/api-keys.html`
|
||||
- `apps/ui/html/agents.html`
|
||||
- `apps/ui/js/i18n.js`
|
||||
|
||||
### 3.3. Mobile-first restructuring for data-heavy pages
|
||||
|
||||
На мобильных экранах нужно убрать desktop-table anti-pattern для:
|
||||
|
||||
- `API Keys`
|
||||
- `Secrets`
|
||||
- `Usage`
|
||||
- частично `Agents`
|
||||
|
||||
Целевой подход:
|
||||
|
||||
- карточки вместо широких таблиц;
|
||||
- постоянная видимость primary actions;
|
||||
- отсутствие скрытого горизонтального скролла как обязательного пути.
|
||||
|
||||
Основные файлы:
|
||||
|
||||
- `apps/ui/js/api-keys.js`
|
||||
- `apps/ui/js/secrets.js`
|
||||
- `apps/ui/js/usage.js`
|
||||
- `apps/ui/js/agents.js`
|
||||
- `apps/ui/css/*`
|
||||
|
||||
### 3.4. Workspace and settings polish
|
||||
|
||||
Остаются открытые UI/UX-проблемы:
|
||||
|
||||
- глобальная терминология `workspace` против `пространство`;
|
||||
- структура `Account Settings`;
|
||||
- честное состояние раздела `Notifications`;
|
||||
- mobile navigation overlap / sticky bug;
|
||||
- выравнивание dropdown и workspace switcher behavior.
|
||||
|
||||
Основные файлы:
|
||||
|
||||
- `apps/ui/js/settings.js`
|
||||
- `apps/ui/js/workspace-setup.js`
|
||||
- `apps/ui/js/auth.js`
|
||||
- `apps/ui/index.html`
|
||||
- `apps/ui/css/*`
|
||||
|
||||
### 3.5. Agent creation and operations wizard clarity
|
||||
|
||||
Нужно добить:
|
||||
|
||||
- copy для причин существования отдельных agent endpoints;
|
||||
- empty states без багов с пустыми запросами;
|
||||
- пояснения вокруг `slug`;
|
||||
- более явное описание security level на операции;
|
||||
- capability-based hiding недоступных протоколов и execution modes.
|
||||
|
||||
Основные файлы:
|
||||
|
||||
- `apps/ui/js/agents.js`
|
||||
- `apps/ui/js/wizard.js`
|
||||
- `apps/ui/js/wizard-live.js`
|
||||
- `apps/ui/js/wizard-model.js`
|
||||
- `apps/ui/js/i18n.js`
|
||||
|
||||
## 4. Глобальные правила для UI
|
||||
|
||||
- никакой developer-facing copy в пользовательском интерфейсе;
|
||||
- capability-locked функция либо скрыта, либо помечена честно;
|
||||
- мобильная версия не должна требовать обязательного горизонтального скролла для primary actions;
|
||||
- действия создания должны жить в одном месте и не дублироваться в пустом состоянии без причины;
|
||||
- все новые user-facing строки должны обновляться одновременно в `EN` и `RU`.
|
||||
|
||||
## 5. Правила приемки
|
||||
|
||||
Frontend-задача считается закрытой только если:
|
||||
|
||||
- измененный UI соответствует capability model редакции;
|
||||
- строка есть в `EN` и `RU`;
|
||||
- мобильный сценарий проверен вручную или через e2e;
|
||||
- не остались старые product contradictions в copy.
|
||||
Reference in New Issue
Block a user