노트북을 들고 책상에 앉아 있는 만화 고양이
맥북을 새로 사거나 초기화할 때마다 반복되는 맥북 초기 세팅, 다들 어떻게 하고 계세요? 저는 설정 파일과 스크립트를 모아둔 dotfiles 레포를 만들어뒀는데요. 최근에 새로운 맥북을 사용하게 되서 세팅을 해보니 스크립트가 낡아 있었고, 스크립트만으로는 안 되는 부분들이 생각보다 많았어요. 그래서 이번에 방식을 바꿔보고자 했습니다. 어차피 스크립트로 안되고, 검색이나 에이전트를 활용할 거라면, 스크립트가 전부 하는 게 아니라, AI 에이전트가 md 문서를 읽고 직접 세팅하는 플로우로요. 코딩 에이전트와 함께 레포를 손봤고, 그 과정을 공유합니다.
📎 dotfiles란?
.zshrc,.gitconfig처럼 점(.)으로 시작하는 설정 파일들을 말해요. 터미널 테마, 단축키, git 설정, 설치할 앱 목록까지 — 내 컴퓨터를 "내 것"으로 만드는 모든 설정이 이 파일들에 담겨 있습니다. 이걸 레포 하나에 모아두면, 새 컴퓨터에서 레포를 받는 것만으로 늘 쓰던 환경을 그대로 복원할 수 있어요. 잘 짜인 공개 레포를 보면 감이 잡히는데, mathiasbynens/dotfiles와 GitHub dotfiles 가이드를 추천합니다.
낡은 스크립트부터 점검 — dotfiles 레포, 지금도 유효한가?
시작은 단순했어요. 레포가 지금 상태를 제대로 반영하고 있는지부터 확인해달라고 했습니다.
현재 있는 repo는 내가 새로운 맥북을 구매하거나, 맥북을 초기화해서 다시 설정할 때
받아서 초기 설정하는 프로젝트야. 먼저 코드 확인 및 현재 제대로 잘 반영되어 있는지 확인해줘.Claude Code가 레포 전체를 훑더니 문제를 줄줄이 찾아냈어요.
노트북을 들고 책상에 앉아 있는 고양이
개인 정보(git 이름/이메일)가 설정 파일에 그대로 박혀 있음
같은 설정이 두 군데 중복
문서에 적힌 내용과 실제 머신 상태가 다름
혼자 봤으면 "뭐 대충 되겠지" 하고 넘어갔을 것들이에요. 특히 첫 번째는 단순히 지저분한 게 아니라 보안 문제이기도 했어요 — 레포를 공개로 돌리는 순간 이름과 이메일이 그대로 노출되니까요. 에이전트 점검의 좋은 점이 이거였습니다. 낡은 설정만 찾는 게 아니라, 보안 관점에서 문제가 될 만한 것까지 같이 잡아준다는 것. 개인 정보는 별도 로컬 파일로 분리하고 중복은 정리하는 것까지 한 흐름에 끝났습니다.
직접 겪은 순서를 그대로 문서에 — SSH부터 시작하는 세팅 플로우
이 레포의 함정이 하나 있었는데요. 레포가 비공개라서 SSH 키를 만들어 GitHub에 등록하기 전엔 레포를 받아올 수조차 없다는 거예요. 실제 세팅하던 날 이 순서에서 막혔던 경험을, 그날 바로 문서에 반영해달라고 했습니다. (사실 앞에서 보안 이슈들을 다 정리했으니 레포를 공개로 돌려서 이 함정 자체를 없애는 선택지도 있었어요. 저는 일단 비공개를 유지하기로 했고, 대신 아래처럼 풀었습니다.)
이러한 세팅 설정을 할 때 오늘 해보니까, ssh key 생성 후에 github에 넣어두고
clone 받아온 후에 시작하는데, 이와 함께 claude 및 codex와 함께한다면 좋을 것 같아.
오늘 한 작업대로 될 수 있도록, 코딩 에이전트의 도움을 받을 수 있도록 README.md를 업데이트해줘.그 결과 문서가 "실제로 벌어지는 순서" 그대로 재작성됐어요. 그런데 이 글을 쓰면서 다시 보니 함정이 하나 남아 있더라고요. SSH 키를 등록하기 전엔 레포를 받아올 수 없는데, 그 방법을 적어둔 문서가 바로 그 레포 안에 있다는 것. 새 맥북에서는 에이전트가 읽을 문서 자체가 없는 거예요.
열쇠가 있는 금고 옆에 앉아 있는 고양이
그래서 순서를 뒤집고, 문서를 둘로 나눴습니다.
1단계 — 개발 도구 설치 (git을 쓰기 위한 준비)
2단계 — Claude Code부터 설치 (레포 없이도 설치 가능하니까)
3단계 — 에이전트에게 넘기기: SSH 키 생성 → GitHub 등록 → 연결 확인 → 레포 받아오기까지 에이전트가 대화로 안내
4단계 — 레포 안의 문서를 에이전트가 읽고 나머지 세팅 진행
그리고 1~3단계만 담은 한 장짜리 부트스트랩 문서를 공개 gist로 미러링해뒀어요. 레포는 비공개여도 이 문서는 새 맥북에서 바로 열 수 있고, 안에는 에이전트에게 붙여넣을 "넘기기 프롬프트"까지 들어 있습니다. 사람이 직접 하는 건 사실상 두 가지뿐이에요 — 공개 키를 GitHub에 붙여넣는 것과, 브라우저 로그인.
전환의 순간 — "완벽한 스크립트" 대신 "example + 에이전트"
방향이 완전히 바뀐 결정적 순간은 Claude Code 설정 파일을 레포에 넣을 때였어요. 머신마다 달라지는 값이 있어서 스크립트로 완전 자동화하기 애매했는데, 문득 이런 생각이 들었습니다.
그래 어차피 어느 정도 example이면 claude 이용해서 세팅을 하면 되니까.
그런 식으로만 되면 될 것 같아.이게 이 글의 핵심이에요. 예전 방식은 스크립트가 모든 경우를 처리해야 해서, 예외가 생길 때마다 스크립트를 고쳐야 했어요. 이제는 example 템플릿과 설명 문서만 남겨두고, 새 머신에서는 에이전트가 문서를 읽고 상황에 맞게 세팅합니다. 스크립트는 확실히 자동화되는 부분(심링크, 패키지 설치)만 담당하고요.
실제로 에이전트와 같이 설치하다 막힌 순간에도 이 방식의 장점이 드러났어요. 로컬에 커밋 안 한 변경이 있어서 원격 변경사항을 받아오지 못하는 상황이 됐는데, "일단 커밋하고 충돌을 해결하자"고 방향만 잡아주니 Claude Code가 충돌 해결까지 처리했습니다. 터미널의 한글 폰트가 깨져 보이던 문제도 이날 찾아서, 한글 패치 폰트를 자동 설치하도록 바꿨고요. 스크립트였다면 "에러 나면 사람이 알아서"였을 상황들이, 에이전트와 함께라면 그 자리에서 해결되고 레포에 반영됩니다.
도구 추천까지 시키기 — 세팅이 아니라 업그레이드
기존 스크립트 방식으로는 불가능했던 게 하나 더 있는데, 바로 새로 나온 도구 추천이에요. 완전히 새로운 영역의 앱만이 아니라, 늘 쓰던 기본 명령어를 대체하는 더 좋은 도구도 추천받았습니다. 지금 제 .zshrc에는 이런 alias들이 들어 있어요.
alias ls="lsd" # 아이콘과 색으로 한눈에 들어오는 파일 목록
alias du="dust" # 디스크 사용량을 트리로 보여줌
alias df="duf" # 표 형태의 깔끔한 디스크 현황판
alias top="btop" # 대시보드처럼 보이는 프로세스 뷰어
alias vi="nvim"만화 고양이가 서류 가방 옆에 서 있다
이름은 그대로 두고 연결만 바꿔둔 거라, 손에 익은 명령을 그대로 치면 결과만 업그레이드됩니다. 이런 "같은 역할, 더 좋은 도구"는 존재를 알아야 쓸 수 있는데, 그걸 에이전트가 조사해서 알려주는 거죠. (물론 만능은 아니에요 — 대체 도구는 출력 형식이 달라 기존 스크립트와 호환이 깨지거나 성능 이슈가 있을 수 있으니, 가볍게 써보고 판단하는 걸 추천해요.)
그 외에 생산성 향상, 혹은 맥을 잘 사용하는데 도움이 되는 app들이 있을까?
조사하고 추천을 해주면서, 그 이유를 설명해줘.Claude Code가 조사해서 추천해준 것 중 Raycast(런처), Shottr(캡처 도구)를 직접 써보고, 창 정리 도구는 패키지 목록에 추가했어요. 각 도구가 왜 필요한지, 기본 기능으로 대체 가능한지("이건 맥 내장 기능으로 되지 않아?")까지 따져가면서요. 세팅 복원이 아니라 세팅 업그레이드가 된 거죠.
키보드 스크롤 설정 같은 건 하루에 세 번을 뒤집었어요. 페이지 단위 → 한 줄 → 반 페이지 → 다시 한 줄. 체감해보고 바로 바꿔달라고 하면 되니까, 이런 미세 튜닝을 부담 없이 반복할 수 있었습니다. 최종적으로는 키 반복 속도 설정까지 레포에 저장해서, 다음 맥북에서도 같은 감각이 복원되도록 했어요.
문서에는 이런 지침도 넣었어요. "나중에 더 편한 기능이 생기면, 적용할지 말지 유저에게 물어봐라." 도구가 발전하면 세팅 플로우도 같이 발전하도록요.
결과
다른 한국어 단어가 적힌 테이블
노트북을 들고 책상에 앉아 있는 만화 고양이
이틀, 커밋 14개 분량의 작업이었는데요. 수치보다 컸던 건 레포 품질 자체가 좋아졌다는 거예요. 개인/회사 git 계정 자동 전환, 개인 정보 분리, 문서 최신화 같은 미루던 정리를 에이전트와 대화하면서 다 해치웠습니다. 혼자였으면 "나중에 해야지" 목록에만 있었을 일들이에요.
AI 활용 팁!
이 패턴은 dotfiles가 아니어도 통해요. "반복되지만 매번 조금씩 다른 세팅"이 있는 곳이라면 어디든 적용됩니다. 팀 온보딩 문서를 신입이 에이전트와 함께 실행한다든지, 새 프로젝트 초기 설정을 문서 한 장으로 맡긴다든지요.
주의할 점 하나. 전부 자동화하려고 하지 마세요. 매번 확실히 똑같은 건 스크립트로, 상황 따라 달라지는 건 example 템플릿 + 문서로 남기는 게 오히려 견고합니다. 그리고 가장 중요한 팁은, 세팅하다 막힌 지점을 그날 바로 문서에 반영하는 것이에요. 직접 겪은 순서만큼 정확한 문서는 없거든요.
바로 쓸 수 있는 프롬프트
이 레포는 새 [맥북/PC/서버]를 초기 세팅하는 프로젝트야.
1. 먼저 전체를 점검해서 문서와 실제 상태가 어긋난 부분, 개인 정보가 하드코딩된 부분을 찾아줘.
2. 오늘 내가 실제로 세팅하며 겪은 순서는 이래: [겪은 순서/막힌 지점]. 이 순서대로 문서를 재작성해줘.
3. AI 코딩 에이전트가 이 문서만 읽고 세팅을 이어받을 수 있는 수준으로 만들어줘.
4. 요즘 나온 도구 중 이 세팅에 추가할 만한 것을 조사해서 이유와 함께 추천해줘.
[수정할 부분]은 본인 상황에 맞게 변경하세요