4.2 KiB
4.2 KiB
| ui_doc_type | view_id | status | frame | source_evidence | regions | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| view | workbench-shell | 구현됨 | null |
|
|
Workbench Shell
View ID: workbench-shell
Frame:
- 없음
Status: 구현됨
Source Evidence
| Type | Path | Notes |
|---|---|---|
| code | apps/client/lib/src/app/nomadcode_workbench_shell.dart |
NomadCodeWorkbenchShell, _WorkbenchTitleBar, _WorkbenchActivityRail, _AgentDockPanel, section placeholder 구현. |
| code | apps/client/lib/src/app/nomadcode_client_app.dart |
MaterialApp home에서 WorkspaceHomePage를 workbench shell에 mount하는 조립 근거. |
| docs | apps/client/README.md |
Workbench shell, Agent dock, IOP slot composition 설명. |
| docs | README.md |
제품 경계의 workbench shell, Agent dock, IOP slot 설명. |
| user | 없음 | agent-ui 생성 요청. |
Purpose
NomadCode Console의 최상위 작업 표면이다. 상단 titlebar, 중앙 product section, 우측 activity rail, 우측 Agent dock, optional IOP content slot을 하나의 workbench로 조립한다.
Primary Users
- NomadCode로 개발 workspace와 agent 작업 상태를 오가는 사용자
- provider console 또는 IOP slot을 함께 열어보는 운영 사용자
Primary Tasks
- Workspace, Workflow, Terminal, Review, Web Context, Settings, IOP section 사이를 전환한다.
- 우측 Agent dock을 열고 닫는다.
- optional IOP content가 제공되면 IOP section에 mount한다.
Information Priority
- 현재 선택된 workbench section과 중앙 content
- Agent dock 열림 상태와 우측 rail navigation
- IOP/provider slot availability
Regions
| Region ID | Purpose | Component | Priority | Notes |
|---|---|---|---|---|
workbench-shell.titlebar |
Console brand, 현재 section label 표시 | workbench-titlebar |
high | _WorkbenchTitleBar 구현. |
workbench-shell.center |
선택된 product section content 표시 | 없음 | high | Workspace는 WorkspaceHomePage, 나머지 section은 placeholder 또는 slot. |
workbench-shell.activity-rail |
Agent toggle과 section navigation | activity-rail |
high | 우측 고정 rail. |
workbench-shell.agent-dock |
AgentShell 기반 대화/작업 dock | agent-dock-panel |
medium | compact width에서는 center content를 숨기고 dock을 우선 표시. |
workbench-shell.iop-slot |
optional IOP console content mount | 없음 | medium | iopContent가 없으면 IOP placeholder를 표시한다. |
Actions
| Action ID | Trigger | Result | Guard |
|---|---|---|---|
workbench-shell.select-section |
activity rail section button | 중앙 content를 선택 section으로 전환하고 Agent dock을 닫는다. | 없음 |
workbench-shell.toggle-agent |
Agent rail button | Agent dock open/closed 상태를 전환한다. | 없음 |
workbench-shell.mount-iop-slot |
iopContent widget 제공 |
IOP section에 외부 IOP console content를 표시한다. | IOP package/widget은 optional boundary로 유지한다. |
States
- loading: shell 자체 loading state는 없다.
- empty: section content가 아직 없으면
_WorkbenchPlaceholder를 표시한다. - error: shell 자체 error state는 없다.
- permission-denied: view-level permission guard는 구현되어 있지 않다.
Open Questions
- 없음
Decision History
- 2026-06-24: 구현된 Flutter workbench shell을
구현됨view로 등록했다.