# Office Lab

> 하나의 Workspace Repo에서 요구사항, Issue, PR, 네이티브 검토, 프로토타입과 일정을 연결하는 GitHub 방식의 Office 협업.

- Human documentation: [https://docs.univer.ai/ko-KR/overview/examples/office-lab](https://docs.univer.ai/ko-KR/overview/examples/office-lab)

- Agent Markdown: [https://docs.univer.ai/ko-KR/overview/examples/office-lab.md](https://docs.univer.ai/ko-KR/overview/examples/office-lab.md)

- Requested language: `ko-KR`

- Content language: `ko-KR`

- Documentation version: `1.3.0`

- Source: [examples/office-lab.ko-KR.mdx](https://github.com/dream-num/documentation/blob/dev/content/docs/examples/office-lab.ko-KR.mdx)

---

**Office Lab**은 **[Univer Office SDK](https://docs.univer.ai/ko-KR/overview.md)**와 Workspace Repo 모드로 구성한 제품·개발 협업 사례입니다. 요구사항 문서, 스프레드시트, 동작하는 프로토타입, Issue와 PR을 같은 프로젝트에 모아 요청과 변경, 결과를 함께 살펴봅니다.

제품 관리자와 개발자는 각자 익숙한 Agent로 자료를 준비하고 확인합니다. 사람은 사용자 경험을 논의하고 변경을 검토하며 최종 전달을 결정합니다.

[하나의 프로젝트, 두 가지 관점](#case-study) · [발견을 실행 가능한 Issue로 만들기](#issues) · [Worktree와 Compare로 내용 검토하기](#review) · [Web App 생성·게시·관리](#web-apps) · [Office Lab 체험하기](#quick-start)

이미지는 실제 [클라우드 Workspace](https://space.univer.ai)에서 촬영한 가상의 영어 사례입니다. 두 Agent의 역할 분담은 따라 할 수 있는 협업 제안입니다.

## 하나의 프로젝트, 두 가지 관점

**Team Invitations**에서는 동료 초대, 역할 선택과 결과 확인을 다룹니다. 대기 중인 이메일의 중복 초대를 개선하며 프로토타입, 승인 기준, 이벤트 측정과 일정을 연결합니다.

| 역할 | Agent 예시 | 기여 |
| --- | --- | --- |
| Maya · 제품 | Codex | 경험, 요구사항, 승인 기준, 측정 계획과 검토. |
| Alex · 개발 | Claude Code | 요구사항과 프로토타입 확인, Issue 작성, 수정과 검증. |

| 자료 | 역할 |
| --- | --- |
| Product brief · Doc | 목표, 초대 규칙, 승인 기준과 출시 조건. |
| Tracking plan · Doc | 이벤트 트리거, 속성과 측정 규칙. |
| Event catalog · Sheet | 이벤트, 담당자와 준비 상태. |
| Delivery schedule · Sheet | 작업, 담당자, 날짜, 진행 상태와 예상 공수. |
| Invite Prototype / Team Access Console · Web App | 직접 조작하는 초대 양식. |

```mermaid
flowchart TD
A["Issue"]
B["Maya · 제품"]
C["Alex · 개발"]
D["Office Worktree"]
E["PR + Compare"]
F["공유 Office 콘텐츠"]
G["Web App"]
H["Pages"]
A --> B --> D --> E --> F
A --> C --> D
C --> G --> H
E -->|Issue| A
```

## Repo에서 작업 자료 살펴보기

팀 Space를 Repo 모드로 열면 **Code**에서 편집 가능한 문서와 앱 파일을 찾고 미리 볼 수 있습니다. 자료 옆에 Issues, Pull requests, Pages, Settings가 있어 같은 맥락에서 협업합니다.

Repo는 기존 Space의 다른 보기이며 콘텐츠와 권한을 그대로 사용합니다. 선택한 Web App을 프로젝트 홈에 표시해 바로 체험할 수도 있습니다.

![Repo에서 작업 자료 살펴보기](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/examples/office-lab/cloud-repository-rich.png)

## 발견을 실행 가능한 Issue로 만들기

Alex는 중복 초대 안내가 불명확함을 발견하고 **Prevent duplicate invitations**에 기대 메시지, 차단 이벤트와 QA 작업을 기록합니다. 요구사항, 측정 계획, 이벤트 표와 일정을 연결합니다.

설명, 댓글, 담당자와 레이블로 다음 행동을 명확히 합니다. Issue는 팀 Space 기능이며 Agent도 Workspace CLI로 같은 작업과 자료를 읽습니다. 피드백은 Issue나 관련 문서 댓글에 남깁니다.

![발견을 실행 가능한 Issue로 만들기](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/examples/office-lab/cloud-issue.png)

## PR로 변경 제안하기

PR은 Workspace Worktree를 검토할 수 있는 제안으로 표시합니다. 작업 초안에 기존 문서를 추가하고 수정한 뒤 Ready로 표시합니다. 제목, 요약, 작성자, 상태와 변경 파일을 확인하며 공유 콘텐츠는 계속 사용할 수 있습니다.

화면의 PR은 이벤트 표에 `invite_duplicate_blocked`를 추가하고 QA 일정을 조정하며 요약에서 Issue #1을 참조합니다. 각 담당자는 별도 초안에서 작업하고 권한 있는 검토자에게 공개해 같은 자료를 기준으로 결과를 확인할 수 있습니다.

![PR로 변경 제안하기](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/examples/office-lab/cloud-pull-request.png)

## Worktree와 Compare로 내용 검토하기

요약을 읽고 **Files changed**를 엽니다. **View**는 결과를 읽기 전용으로 보여 주며, **Compare**는 공식 버전과 제안 버전을 나란히 표시하고 변경 목록에서 해당 위치로 이동합니다.

[Worktree](https://docs.univer.ai/ko-KR/overview/features/shared/worktree.md)가 작업을 분리하고 [Compare](https://docs.univer.ai/ko-KR/overview/features/shared/compare.md)는 콘텐츠 모델, Snapshot과 Changeset을 사용합니다. 권한 있는 사람이 수정을 요청하거나 병합을 결정합니다. 화면의 두 파일 PR은 Ready 상태로 병합하지 않았습니다.

![Worktree와 Compare로 내용 검토하기](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/examples/office-lab/cloud-compare.png)

### 납기 영향도 함께 검토하기

같은 PR은 Usability and QA 종료일을 11월 9일에서 10일로, 예상 공수를 2일에서 3일로 바꿉니다. 이벤트 변경과 함께 담당자, 날짜와 상태를 확인해 전달에 필요한 작업까지 검토합니다.

![납기 영향도 함께 검토하기](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/examples/office-lab/cloud-schedule.png)

## Web App 생성·게시·관리

**Pages**에서 게시된 Web App을 찾고, 열고, 주소를 복사하거나 홈 미리보기를 선택합니다. 기본 페이지 선택은 현재 브라우저에만 적용되며 파일과 접근은 Workspace가 관리합니다.

초대 프로토타입을 **Team Access Console**로 확장했습니다. 멤버와 역할 목록, 상태 필터, 검색, 초대와 취소, 최근 활동, 인수 기준과 세션 이벤트 수를 한 화면에서 확인할 수 있습니다. 새 예시 이메일은 목록과 대기 수를 함께 갱신하고, 중복 초대는 차단됩니다. 데이터는 메모리에만 유지되며 이메일이나 분석 이벤트를 전송하지 않습니다. 제품 담당자가 동작을 확인하고 발견한 문제를 Issue로 이어갈 수 있습니다.

Office 변경은 Worktree 검토와 병합을 거치며 HTML View는 별도의 저장·게시 승인 흐름을 사용합니다. 예시 프로토타입은 대기 중인 문서 PR과 별도로 게시되었습니다. 실제 Office 데이터 연결은 실험적 [Binding](https://docs.univer.ai/ko-KR/overview/features/shared/binding.md)을 참고하세요.

[대화형 프로토타입 체험](/assets/examples/office-lab/invite-prototype.univer.html)

![Team Access Console: 멤버, 초대와 검토 항목](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/examples/office-lab/cloud-team-access.png)

## 팀 협업의 경계 정하기

**Settings**는 이름, 설명, 공개 범위, 협업자와 휴지통을 제공합니다. 소유자와 관리자가 접근을 정리하고 편집, 검토, 병합에는 현재 사용자의 유효 권한이 적용됩니다.

제품 담당자는 경험과 승인 기준을, 개발자는 구현과 측정을 확인합니다. 권한 있는 사람이 Office 변경을 병합하고 게시된 원형을 확인한 뒤 완료된 Issue를 닫습니다.

![팀 협업의 경계 정하기](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/examples/office-lab/cloud-settings.png)

## Office Lab 체험하기

1. [클라우드 Workspace](https://space.univer.ai)에 로그인하거나 [자체 배포](https://docs.univer.ai/ko-KR/overview/examples/workspace.md#self-host)를 열고 **팀 Space**를 만들거나 선택합니다.
2. **Application settings → Page theme → Repository (experimental)**를 엽니다. 같은 Space의 표시 방식을 바꾸는 설정이며 현재 브라우저에만 저장됩니다.
3. **Code**에서 문서를 보고, **Issues**에서 문제를 추적하고, **Pull requests**에서 변경을 검토하고, **Pages**에서 게시된 Web App을 엽니다.

![팀 Space를 Repository 모드로 전환하고 문서, Issue, PR, Web App 살펴보기](https://raw.githubusercontent.com/dream-num/documentation/dev/public/assets/examples/office-lab/cloud-office-lab-tour.gif)

자신의 Agent를 쓰려면 [Workspace CLI 연결 안내](https://docs.univer.ai/ko-KR/overview/examples/workspace.md#cli-start)를 따르세요. 각 Agent는 사용자가 승인한 계정으로 작업합니다. 아래 작업 템플릿으로 워크플로를 직접 체험할 수 있습니다.

### 1. 제품: 공유 맥락 만들기

```text
Team Invitations 팀 Space에 영어 요구사항, 측정 계획, 이벤트 표, 일정과 대화형 초대 Web App 미리보기를 만들어 주세요. 담당자, 날짜와 승인 기준을 명시하고 Office 변경을 Worktree에 유지해 검증한 뒤 검토 링크를 주세요. 병합이나 원형 게시 전에는 제 승인을 기다리세요.
```

### 2. 개발: 집중된 개선 제안하기

```text
요구사항, 이벤트 표, 일정과 프로토타입을 읽고 대기 중인 이메일의 중복 초대를 확인하세요. 재현 단계와 기대 행동을 Issue로 작성하고 Office 수정은 별도 Worktree, 프로토타입은 전용 게시 흐름으로 준비하세요. 검증 후 PR 요약에서 Issue를 참조하고 사람의 검토를 기다리세요.
```

### 3. 검토: 변경과 승인 기준 연결하기

```text
Compare로 PR을 검토해 중복 초대 이벤트, 승인 기준과 QA 일정을 확인하고 원형을 체험하세요. 누락을 Issue에 기록해 수정을 요청하고 준비된 부분과 대기 중인 부분을 요약하세요. 승인 전에는 병합하거나 게시하지 마세요.
```

## 같은 SDK와 Skills로 확장하기

양쪽은 버전에 맞는 CLI Skills를 사용합니다. `core`는 탐색과 Worktree, `doc`·`sheet`는 요구사항과 계획, `html-view`는 원형을 다룹니다. Agent는 접근 가능한 상대 자료와 Issue 피드백을 읽고 사람은 최종 결정을 내립니다.

Web SDK는 콘텐츠 모델, 편집기와 Headless를, Server SDK는 협업·버전·Worktree를, AI SDK는 조작과 검증을 제공합니다. Workspace는 프로젝트, ID, Issue, Repo와 게시를 구성합니다. 이를 재사용해 제품 연구 공간이나 내부 업무 허브를 만들 수 있습니다.

[Workspace 알아보기](https://docs.univer.ai/ko-KR/overview/examples/workspace.md) · [소스 저장소](https://github.com/dream-num/univer-workspace) · [모든 예제](https://docs.univer.ai/ko-KR/overview/examples.md)
