---
ui_doc_type: component
component_id: workspace-list
status: 구현됨
source_evidence:
  - type: code
    path: apps/client/lib/src/features/workspaces/presentation/workspace_home_page.dart
    notes: _buildWorkspaceList 구현.
  - type: code
    path: apps/client/lib/src/features/workspaces/domain/project_workspace.dart
    notes: ProjectWorkspace model과 mockProjectWorkspaces seed.
  - type: user
    path: null
    notes: agent-ui 생성 요청.
---

# Workspace List

Component ID: `workspace-list`

Status: `구현됨`

## Source Evidence

| Type | Path | Notes |
|------|------|-------|
| code | `apps/client/lib/src/features/workspaces/presentation/workspace_home_page.dart` | _buildWorkspaceList 구현. |
| code | `apps/client/lib/src/features/workspaces/domain/project_workspace.dart` | ProjectWorkspace model과 mockProjectWorkspaces seed. |
| user | 없음 | agent-ui 생성 요청. |

## Purpose

사용 가능한 project workspace를 카드 목록으로 보여주고, 현재 선택 workspace를 명확하게 표시한다.

## Used By

- `workspace-home`: `workspace-home.workspace-list`

## Anatomy

- Workspace card
- Status icon
- Workspace name
- Description
- Task count badge
- Selected border/background state

## Variants

- default: large-screen left panel list
- stacked: small-screen top list

## States

- default
- selected
- loading: 없음
- empty: mock workspace seed가 비어 있으면 list가 비어 있다.
- error: 없음
- disabled: 없음

## Rules

- 선택 상태는 ProjectWorkspace id로 판별한다.
- task count가 0이면 task count badge를 표시하지 않는다.
- active workspace는 code icon과 cyan accent를 사용하고 paused workspace는 pause icon과 amber accent를 사용한다.

## Decision History

- 2026-06-24: 구현된 workspace list를 component로 등록했다.
