블로그
개발 경험, 코드 스니펫, 그리고 기술 인사이트를 공유합니다.
Claude Code 권한 모드 & 자동화 설정 정리
Claude Code를 켤 때마다 확인 창 없이 auto 모드로 시작하고 설문을 끄는 settings.json 설정. defaultMode, skipAutoPermissionPrompt, feedbackSurveyRate 세 가지를 정리한다.
더 읽기tmux는 Warp가 아니다 — 터미널 앱과 세션 멀티플렉서를 헷갈리지 않기
그냥 Warp로 SSH 붙어서 claude 친 건 tmux가 아니다. 터미널 앱(Warp·iTerm)과 tmux(서버에서 도는 세션 멀티플렉서)의 차이, 그리고 접속이 끊겨도 세션이 살아남고 기기를 넘나드는 원리를 정리한다.
더 읽기chezmoi로 3대 Mac dotfiles 동기화하기 (비밀은 age로 암호화)
사무실·집·맥북 3대 Mac에 셸 설정과 ~/.claude/CLAUDE.md를 chezmoi로 동기화하고, API 키·SSH 개인키는 age로 암호화. 셋업 명령, encryption not configured·PATH 닭-달걀 등 함정과 source-of-truth 모델 정리.
더 읽기Magento 배포 자동화 — GitHub Actions를 접고 Mac→SSH 직결로 간 이유
수동 트리거 + 메인 레포 없음 조합에서 GitHub Actions는 오버엔지니어링. Raycast에서 ssh -t로 서버 deploy.sh를 직접 실행하는 구조와, trap으로 점검모드 잠김·composer install 함정 피하기.
더 읽기원격 서버에서 Claude Code 제대로 쓰기 — 로컬 클론 버리고 tmux + 스크린샷 자동 전달
원격 우분투 서버 + AI 코딩 에이전트 워크플로우. 로컬 클론을 버린 이유, VS Code 익스텐션 대신 tmux 멀티세션, ss 싱크 + cc 함수로 터미널에서 이미지 입력까지 메우는 법.
더 읽기Ubuntu에서 Claude Code가 sudo를 사용하게 설정하기 (a terminal is required 해결)
Claude Code CLI가 apt·systemctl 같은 root 명령을 쓰려다 만나는 'sudo: a terminal is required' 에러를, NOPASSWD 없이 timestamp_timeout + !tty_tickets로 안전하게 푸는 설정.
더 읽기