콘텐츠로 이동

베이스 업데이트 받기

이 페이지는 base가 새 버전을 내놓았을 때 본인 사본에 그 변화를 가져오는 방법입니다. base 안의 새 스킬이 추가되었거나, 자동화 훅이 개선되었거나, AI에게 알려주는 도메인 규칙(AI_AUTOMATION.md)이 갱신되었을 때 이 흐름이 필요합니다.

받아야 하는 이유는 한 줄입니다. base 는 본인이 산 시점의 코드 위에 본인 작업이 쌓이는 출발점인데, base 자체가 계속 좋아지고 있어서 그 좋아진 부분을 받지 않으면 본인 사본만 시간 안에 갇힙니다. 매번 받을 필요는 없습니다. 한 달에 한 번 정도, 또는 base 측에서 “새 스킬 나왔어요” 같은 안내가 도착했을 때 받아보면 됩니다.

이 흐름은 비개발자도 직접 누를 수 있도록 설계되어 있습니다. git rebase 같은 명령을 외울 필요가 없습니다. 대신 Claude Code 또는 Codex에 “베이스 업데이트 받아줘” 라고 말하면 됩니다.

처음 한 번 — base 저장소를 등록합니다

섹션 제목: “처음 한 번 — base 저장소를 등록합니다”

이 등록은 본인 컴퓨터에 한 번만 합니다. 이후 update 호출은 이 등록 위에서 동작합니다.

터미널을 열고 본인 확장 프로그램 폴더로 이동한 다음 다음을 실행합니다.

Terminal window
git remote add base https://github.com/ddakit/chrome-ext-base.git

명령이 끝나도 화면에는 아무것도 출력되지 않습니다. 그게 정상입니다. 등록이 잘 됐는지 확인하려면 다음을 실행합니다.

Terminal window
git remote -v

정상 출력은 다음 모양입니다.

base https://github.com/ddakit/chrome-ext-base.git (fetch)
base https://github.com/ddakit/chrome-ext-base.git (push)
origin ...본인 저장소 주소...

baseorigin 두 줄씩 모두 네 줄이 보이면 끝입니다. 이 단계가 처음이라면 Claude Code 에게 /update-from-base 라고 입력해도 됩니다. 명령이 처음 호출될 때 base 등록이 안 되어 있으면 자동으로 위 명령을 안내하면서 대신 실행해 드릴지 묻습니다.

fatal: remote base already exists 가 보인다면 이미 등록이 되어 있다는 뜻입니다. 그대로 다음 절로 넘어가시면 됩니다.

Permission denied 가 보인다면 본인 라이선스가 만료되었거나 base 저장소에 접근 권한이 없는 상태입니다. base 측 메인테이너에게 문의하세요.

등록이 끝났다면 다음번부터는 한 줄입니다. Claude Code 또는 Codex 대화창에 다음 중 하나를 입력합니다.

/update-from-base

또는 자연어로,

베이스 업데이트 받아줘

이 둘은 같은 결과를 만듭니다.

호출이 들어가면 도구는 다음 순서를 거칩니다. 단계마다 무엇이 보여야 정상인지 같이 적어두었으니 그 줄을 같이 보면서 따라가시면 됩니다.

본인 작업물에 아직 commit 안 된 변경이 있는지 먼저 봅니다. 있으면 다음 안내가 뜹니다.

저장 안 된 변경이 있어요. 먼저 commit하거나 따로 빼두는 게 안전해요.
git stash로 잠깐 빼둘까요?

yes 라고 답하면 잠깐 옆으로 빼둡니다. 업데이트가 끝나면 git stash pop 으로 원래대로 돌립니다. 안전하게 가는 길이라 가급적 yes 를 권장합니다.

도구가 base 저장소에서 새 commit 들을 가져온 다음, 본인 사본의 어디가 영향받는지 영역별로 묶어서 보여줍니다. 모양은 다음과 비슷합니다.

베이스 업데이트 요약 (지난 sync 후 새 변경분)
새로 추가된 스킬 (자동 적용 가능)
- 2개
갱신된 베이스 파일 (자동 적용 가능)
- .claude/skills/ (3개 갱신)
- .claude/hooks/ (1개 갱신)
- AI_AUTOMATION.md (✓ 갱신됨)
수동 확인 필요 (당신 편집과 충돌 가능)
- CLAUDE.md
- README.md
진행할까요? (yes / no / show-diff)

yes 면 자동 적용이 가능한 영역을 한 번에 받습니다. 이 영역은 base 가 SSOT로 책임지는 자리라서 덮어써도 본인 작업이 사라지지 않습니다.

show-diff 를 고르면 어떤 줄이 바뀌는지 자세히 보여줍니다. 처음 한두 번은 show-diff 로 한 번 보고 내용이 짐작 가는지 확인한 다음 yes 로 넘어가는 흐름이 무난합니다.

no 면 받지 않고 끝납니다. 다음 호출에서 같은 변경분을 다시 보여줍니다.

3. 수동 확인 필요한 파일 — 셋 중 하나

섹션 제목: “3. 수동 확인 필요한 파일 — 셋 중 하나”

CLAUDE.md, README.md, AGENTS.md 셋은 base 도 수정할 수 있고 본인도 자기 메모를 더 적었을 수 있는 자리라서 자동으로 덮지 않습니다. 도구가 한 파일씩 다음을 묻습니다.

CLAUDE.md — 베이스 갱신 + 당신 편집 가능성 있어 자동 적용 안 했어요.
다음 셋 중 하나 선택:
1. 베이스 버전으로 통째로 덮기 (당신 편집 사라짐)
2. 베이스 변경 부분만 가져와 합치기 (3-way merge — 충돌 시 직접 풀어야 함)
3. 일단 두기 (다음에 결정)

처음이라면 대부분 1번이 정답입니다. 본인이 그 파일을 손댄 적이 없다면 베이스 버전이 곧 최신이고, 손댔다 해도 보통은 자기 메모가 짧은 한두 줄이라서 잃어도 다시 쓸 수 있습니다.

2번은 본인 편집이 길고 그것을 그대로 살리고 싶을 때 고릅니다. 자동 합치기를 시도하다 충돌 표시(<<<<<<<, =======, >>>>>>>)가 파일 안에 박히는 경우가 있는데, 이때는 도구가 자리 위치를 알려주고 본인이 직접 두 버전 중 무엇을 남길지 정해야 합니다. 처음이라면 이 길은 한 번에 무리고, 1번을 골라 본인 메모를 잃은 다음 다시 적는 것이 빠릅니다.

3번은 다음에 다시 결정하고 싶을 때입니다. 다음 호출에서 같은 파일에 대해 다시 묻습니다.

도구가 적용된 파일을 한 번 더 점검합니다. 훅(.sh) 파일이 갱신되었으면 실행 권한을 다시 붙이고, settings.json 이 깨지지 않았는지 확인하고, 새 스킬이 들어왔다면 그 스킬이 어떤 트리거 키워드로 불리는지 한 줄씩 나열합니다. 출력 끝은 다음 모양입니다.

✓ 베이스 업데이트 적용 완료
새 스킬 2개, 갱신 파일 7개
commit hash: a3f9c21

여기까지 보이면 끝입니다.

도구가 마지막에 묻습니다.

변경 사항을 commit으로 박아둘까요?
권장 메시지: "chore(base): sync to a3f9c21 (7개 파일)"

yes 면 자동 commit 합니다. no 를 골라 본인이 직접 메시지를 적어 commit 해도 됩니다.

업데이트는 매번 받을 필요가 없습니다. 다음 두 자리에서 한 번 멈춥니다.

본인이 base 코드를 직접 손댄 적이 있으면 한 번 멈춥니다. 예를 들어 .claude/skills/ 안에 있는 base 스킬을 본인이 수정했다면, 자동 갱신이 그 수정을 덮습니다. 도구가 이걸 감지하면 그 파일을 mixed 로 처리해서 다시 묻지만, 사람이 의식하고 들어가는 게 안전합니다. 베이스 스킬을 직접 수정하지 말고 같은 트리거 키워드로 자기 디렉토리(예: .claude/skills/my-team-{이름}/)에 따로 만드는 길이 권장됩니다.

작업이 한창 진행 중이고 다음 한 시간 안에 commit 할 변경이 있다면 그 commit 을 먼저 마치고 받습니다. stash 로 빼는 길도 있지만, 잠깐 빼둔 작업이 다시 돌아왔을 때 base 변경과 같은 줄을 건드린 자리가 있으면 충돌이 납니다. 이 충돌은 비개발자가 풀기 가장 어려운 자리니, 가능하면 작업이 안정된 시점에 받습니다.

업데이트 후 빌드가 깨지거나 명령이 안 먹히면 다음 순서로 풀어갑니다.

먼저 06-troubleshooting.md 의 환경 설정 절을 한 번 다시 봅니다. base 가 Node 20 또는 다른 도구의 새 버전을 요구하기 시작했을 가능성이 있습니다.

다음으로 적용된 commit 을 통째로 되돌립니다. 직전 update commit 을 되돌리는 명령은 다음 한 줄입니다.

Terminal window
git revert HEAD

이 명령은 update 가 가져온 변경을 되돌리는 새 commit 을 만듭니다. 본인 작업물은 그대로 살아 있고, base 도 다음 update 호출에서 다시 가져올 수 있습니다.

force-push 같은 드문 상황은 도구가 자동으로 멈추고 안내를 띄웁니다. 이 안내가 떴다면 그 자리에서 더 진행하지 말고 base 측 메인테이너에게 그대로 메시지를 전달하시면 됩니다.

업데이트가 끝났으면 본인 확장이 여전히 잘 돌아가는지 한 번 확인합니다. chrome://extensions 에서 본인 확장의 새로고침 버튼을 눌러 다시 로드해 보고, 첫 동작을 한 번 시켜본 다음 콘솔에 빨간 줄이 없으면 됩니다. 이 단계가 막히면 03-first-run.md 의 정상 화면 묘사로 다시 돌아가서 비교합니다.

배포까지 끝낸 본인 확장에 update 가 적용되었다면, 사용자에게 새 zip을 보내거나 Web Store 에 새 버전을 업로드하는 09-distribution.md 흐름을 한 번 더 돕니다.