How to 목록

// blog post

스마트폰으로 바이브 코딩하기 — 제가 VibeShell을 만든 이유

|
vibe-codingmobiletutorial

왜 모바일에서 코딩하게 됐을까요

금융IT에서 20년을 보내면서, 망분리 환경은 저한테 너무 익숙한 일상이었습니다. 공공/금융 SI 프로젝트는 외부 인터넷을 차단하는 게 기본이고, 태블릿이나 개인 노트북도 반입이 안 되는 경우가 많죠. 보안상 당연한 조치입니다.

그런데 문제는, 퇴근 후에도 제 개인 프로젝트를 이어가고 싶을 때가 많다는 거였습니다. 출퇴근 지하철에서, 점심시간에, 잠깐 떠오른 아이디어를 바로 코드로 옮기고 싶은데 방법이 마땅치 않더라고요.

그래서 VibeShell을 직접 만들었습니다. 스마트폰 하나로 어디서든 바이브 코딩을 할 수 있는 환경을 만들고 싶었거든요.

준비물

  • VibeShell이 설치된 스마트폰 (iOS 또는 Android)
  • SSH 접속이 가능한 원격 서버
  • 서버에 설치된 AI 도구 (Claude Code, Open Code 등 CLI 기반 툴)

단계별 설정

1. 서버 연결 등록

서버 셋팅 방법은 AWS EC2에 Claude Code 셋팅하기 포스트를 참고해보세요.

VibeShell의 연결 설정은 직관적으로 만들려고 신경 썼습니다. 호스트, 포트, 사용자명을 입력하고 인증 방식을 선택하면 됩니다. 자세한 과정은 연결 가이드에 정리해두었습니다.

SSH 키 인증을 권장합니다. 앱 내에서 Ed25519 키를 생성하고, 공개키를 서버의 ~/.ssh/authorized_keys에 추가하면 되고요. EC2 인스턴스라면 생성한 키페어(*.pem)를 등록해서 바로 연결할 수 있습니다.

2. tmux로 세션 유지하기

Claude Code나 Open Code를 실행하기 전에 tmux 세션을 먼저 만들어두는 걸 강력 추천합니다. 모바일이다 보니 연결이 끊기기 쉬운데, tmux가 세션을 서버에 유지해주거든요.

tmux 활용법은 tmux 완벽 가이드에서 자세히 다루고 있습니다.

3. AI 도구 실행

서버에 접속한 뒤 AI 코딩 도구를 실행합니다.

# Claude Code 실행
claude --continue

4. 한글 프롬프트 인풋바 활용

연결 목록에서 세션에 들어가서 한글 프롬프트 인풋바를 켜보세요.

프롬프트 인풋바
프롬프트 인풋바

이거 만들 때 정말 고민을 많이 했는데요. 대부분의 모바일 SSH 클라이언트에서는 Claude Code 같은 TUI 모드에서 한글 입력이 제대로 안 됩니다. 직접 써보니까 너무 답답하더라고요.

그래서 VibeShell에는 별도의 인풋바를 만들었습니다. 한글 입력이 깔끔하게 되는 건 물론이고, 프롬프트를 저장해서 나중에 재사용할 수 있습니다. 자주 쓰는 프롬프트를 등록해두면 생산성이 확 올라갑니다.

실전 팁

  • tmux와 함께 사용하세요. 연결이 끊겨도 세션이 유지됩니다. tmux 완벽 가이드를 참고해보세요.
  • Tailscale이나 VPN을 사용하세요. 보안을 강화해서 개발하는 걸 추천합니다. Tailscale 보안 설정 글도 참고해보세요.
  • 프롬프트를 저장해두세요. "테스트 코드 작성해줘", "이 함수 리팩토링해줘" 같은 반복 지시를 빠르게 보낼 수 있습니다. 스니펫 가이드에서 활용법을 확인해보세요.
  • 시작 스니펫을 활용하세요. tmux 연결 명령어를 시작 스니펫에 등록해두면 접속하자마자 바로 개발을 시작할 수 있습니다.

정리

모바일에서 바이브 코딩, 생각보다 어렵지 않습니다. SSH 접속 가능한 서버, 프롬프트를 제대로 입력할 수 있는 터미널, 그리고 보안 연결 도구. 이 세 가지면 충분합니다.

저도 처음엔 "스마트폰으로 코딩이 되겠어?" 싶었는데, 막상 해보니 출퇴근 시간이 개발 시간이 되더라고요. 엘스 산책시키면서 빌드 결과 확인하는 것도 나름의 재미입니다 😊