---
ui_doc_type: component
component_id: activity-rail
status: 구현됨
source_evidence:
  - type: code
    path: apps/client/lib/src/app/nomadcode_workbench_shell.dart
    notes: _WorkbenchActivityRail과 _RailButton 구현.
  - type: docs
    path: apps/client/README.md
    notes: right-side activity rail과 IOP entry 위치 설명.
  - type: user
    path: null
    notes: agent-ui 생성 요청.
---

# Activity Rail

Component ID: `activity-rail`

Status: `구현됨`

## Source Evidence

| Type | Path | Notes |
|------|------|-------|
| code | `apps/client/lib/src/app/nomadcode_workbench_shell.dart` | _WorkbenchActivityRail과 _RailButton 구현. |
| docs | `apps/client/README.md` | right-side activity rail과 IOP entry 위치 설명. |
| user | 없음 | agent-ui 생성 요청. |

## Purpose

Workbench 우측에서 Agent dock toggle과 주요 product section 전환을 제공한다.

## Used By

- `workbench-shell`: `workbench-shell.activity-rail`

## Anatomy

- Agent toggle button
- Product section buttons: Workspace, Workflow, Terminal, Review, Web Context
- Bottom utility buttons: Settings, IOP
- Tooltip labels
- Selected visual state

## Variants

- default: 60px fixed-width rail

## States

- default
- selected
- agent-open
- loading: 없음
- empty: 없음
- error: 없음
- disabled: 없음

## Rules

- Agent button은 section selection과 별도 상태를 갖는다.
- section button 선택 시 중앙 content를 전환하고 Agent dock을 닫는다.
- IOP entry는 rail 하단에 유지한다.

## Decision History

- 2026-06-24: workbench shell의 구현된 activity rail을 component로 등록했다.
