Files
crank/docs/frontend-roadmap.md
T
2026-05-03 15:40:10 +00:00

134 lines
5.3 KiB
Markdown

# 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.