> ## Documentation Index
> Fetch the complete documentation index at: https://engineering.datarelay.run/llms.txt
> Use this file to discover all available pages before exploring further.

# 모바일 & 원격 작업

> Mac Cursor Desktop, 개발 서버 Cursor CLI, tmux, 휴대폰 SSH, Telegram을 함께 사용하는 실제 이동형 작업 방식

# 모바일 & 원격 작업

작업 장소가 바뀌어도 engineering workflow가 끊기지 않도록 구성했습니다.

책상에서는 Mac의 Cursor Desktop을 사용합니다.

이동 중에는 개발 Linux 서버에서 Cursor CLI를 tmux 안에 실행하고, 휴대폰 SSH로 같은 세션에 다시 접속합니다.

## 두 가지 작업 모드

| 상황          | 주 인터페이스            | 실제 실행 환경                         |
| ----------- | ------------------ | -------------------------------- |
| 책상에서 장시간 작업 | Mac Cursor Desktop | local 또는 remote project worktree |
| 이동 중        | 휴대폰 SSH + tmux     | 개발 Linux 서버의 Cursor CLI          |

핵심은 **화면이 바뀌어도 실행 환경은 개발 서버에 계속 남아 있는 것**입니다.

## 전체 이동형 Workflow

```mermaid theme={null}
flowchart LR
    C["ChatGPT<br/>설계·다음 작업"] --> L["개발 Linux 서버"]
    L --> X["tmux + Cursor CLI"]
    X --> T["Telegram<br/>작업 완료 알림"]
    T --> P["휴대폰"]
    P --> S["SSH로 tmux 재접속"]
    S --> R["결과 확인"]
    R --> C
    C -. 필요 시 .-> D["Desktop Commander<br/>서버 직접 감사"]
    D --> L
```

## 왜 tmux를 쓰는가

휴대폰 SSH session은 쉽게 끊길 수 있지만 coding task까지 끊길 필요는 없습니다.

tmux는 다음 상황에서도 작업을 계속 유지합니다.

* Wi-Fi와 LTE/5G 전환
* 휴대폰 잠금
* SSH disconnect
* 이동 중 네트워크 변경
* Mac과 휴대폰 사이 전환

## Telegram의 역할

Cursor 작업이 끝나면 Telegram으로 완료 메시지를 전송합니다.

```mermaid theme={null}
flowchart LR
    A["Cursor 작업 시작"] --> B["사용자는 터미널에서 떠남"]
    B --> C["장시간 구현 / 테스트"]
    C --> D["Telegram 완료 알림"]
    D --> E["필요할 때만 복귀"]
```

이렇게 하면 terminal을 계속 보면서 끝났는지 확인할 필요가 없습니다.

Telegram은 알림 채널일 뿐 source of truth가 아닙니다.

## 현재 남아 있는 수동 구간

```text theme={null}
Cursor CLI 작업 완료
  -> Telegram 알림
  -> 사용자가 결과 확인
  -> 필요한 결과를 ChatGPT에 전달
  -> ChatGPT가 리뷰하고 다음 작업 결정
```

이 수동 구간이 있더라도 실제 authority는 copied output이 아니라 repository state, test, CI, runtime evidence입니다.

필요하면 ChatGPT가 Desktop Commander로 개발 서버를 직접 확인할 수 있습니다.
