콘텐츠로 이동

베이스 업데이트 받기

라이선시 fork는 한 번 받고 끝이 아닙니다. 베이스(ddakit/book-studio)가 새 스킬을 추가하거나, 훅을 고치거나, AI_AUTOMATION.md의 4-Tier 규칙이나 게이트 카테고리를 갱신할 때마다 그 변경이 fork에 도달해야 라이선스 가치가 유지됩니다. /update-from-base는 git rebase를 몰라도 안전하게 받게 해주는 명령입니다.

자동 적용이 가능한 영역, 절대 건드리지 않는 영역, 사람이 결정하는 영역으로 나뉩니다. 이 셋의 구분이 핵심입니다.

경로무엇
.claude/skills/{base-skill-name}/베이스 스킬입니다 (start, book-orchestrator, 집필 스킬, ai-pattern-check, continuity-check 등)
.claude/agents/*.md4 에이전트입니다 (direction, planning, writing, quality)
.claude/hooks/*.sh, .claude/settings.json베이스 훅과 그 등록 설정입니다
AI_AUTOMATION.md도메인 기준 문서입니다 (4-Tier 정의, book_type 라우팅, 14 카테고리, S1~S8)
.gitignore베이스 표준입니다 (_workspace/ 제외)

베이스 스킬 본문은 직접 수정하지 않는 것이 원칙입니다. 자기 스킬을 추가하고 싶으면 별도 디렉터리에 만듭니다.

user-owned: 절대 건드리지 않는 영역

섹션 제목: “user-owned: 절대 건드리지 않는 영역”
경로무엇
_workspace/{book_slug}/, _workspace/books.json작성 중인 모든 책의 원고, 아웃라인, 진행입니다
.envAPI 키입니다 (research, illustration을 쓸 때)
.claude/agent-memory/, .claude/state/, .claude/session-state/메모리, 런타임, 세션 핸드오프입니다
LICENSE, COMMERCIAL-LICENSE.md라이선스입니다

작성 중인 책은 전부 user-owned라 업데이트가 원고를 건드리지 않습니다. 베이스가 갱신돼도 챕터가 사라지지 않습니다.

CLAUDE.md, AGENTS.md, README.md 셋입니다. 베이스와 사용자 양쪽 편집이 동시에 들어갈 수 있어 자동 갱신하지 않고 diff만 보여주고 묻습니다. README.md는 fork 사용자가 본인 책 정보로 덧댈 수 있는 파일이라, 통째로 덮으면 사용자 메모가 사라집니다.

/update-from-base 또는 “베이스 업데이트 받아줘”라고 부르면 다음을 거칩니다.

  1. git status --porcelain으로 dirty 상태를 검사합니다. 저장 안 된 변경이 있으면 git stash를 권합니다
  2. git fetch base main으로 최신 변경을 가져옵니다
  3. git diff --name-status <last_synced_commit>..base/main으로 변경 파일을 영역별로 분류합니다
  4. base-owned 변경을 요약합니다. 새 스킬 N개, 갱신된 훅 M개, AI_AUTOMATION.md 갱신 여부를 알립니다
  5. 사용자가 동의하면 base-owned 경로만 적용합니다
  6. mixed 파일은 한 개씩 세 가지 선택지(통째 덮기, 3-way merge, 미루기) 중에서 골라 적용합니다
  7. 적용 후 검증하고 commit을 권합니다

사전 셋업으로 베이스를 git remote로 등록하는 절차는 첫 호출이 자동으로 안내합니다.

Terminal window
git remote add base https://github.com/ddakit/book-studio.git

상태 파일은 .claude/state/base-upstream.json에 들어가고, last_synced_commit부터 base/main까지의 변경분만 봅니다.

베이스 스킬을 본인이 수정한 흔적이 있을 때

섹션 제목: “베이스 스킬을 본인이 수정한 흔적이 있을 때”

.claude/skills/{base-skill}/ 안 파일을 사용자가 commit으로 수정한 적이 있으면(git log로 감지합니다) 그 파일은 base-owned가 아니라 mixed로 처리됩니다. 자동으로 덮어쓰면 사용자 작업이 사라지기 때문입니다. 이것을 피하려면 베이스 스킬을 직접 고치지 말고, 같은 trigger 키워드를 가진 별도 스킬을 자기 디렉터리에 만듭니다.

비개발자 눈높이로 같은 절차를 따라가는 문서는 비개발자용 업데이트에 있습니다.