베이스 업데이트 받기
라이선시 fork는 한 번 받고 끝이 아닙니다. 베이스(ddakit/book-studio)가 새 스킬을 추가하거나, 훅을 고치거나, AI_AUTOMATION.md의 4-Tier 규칙이나 게이트 카테고리를 갱신할 때마다 그 변경이 fork에 도달해야 라이선스 가치가 유지됩니다. /update-from-base는 git rebase를 몰라도 안전하게 받게 해주는 명령입니다.
자동 적용이 가능한 영역, 절대 건드리지 않는 영역, 사람이 결정하는 영역으로 나뉩니다. 이 셋의 구분이 핵심입니다.
영역별 owner
섹션 제목: “영역별 owner”base-owned: 자동 갱신 대상
섹션 제목: “base-owned: 자동 갱신 대상”| 경로 | 무엇 |
|---|---|
.claude/skills/{base-skill-name}/ | 베이스 스킬입니다 (start, book-orchestrator, 집필 스킬, ai-pattern-check, continuity-check 등) |
.claude/agents/*.md | 4 에이전트입니다 (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 | 작성 중인 모든 책의 원고, 아웃라인, 진행입니다 |
.env | API 키입니다 (research, illustration을 쓸 때) |
.claude/agent-memory/, .claude/state/, .claude/session-state/ | 메모리, 런타임, 세션 핸드오프입니다 |
LICENSE, COMMERCIAL-LICENSE.md | 라이선스입니다 |
작성 중인 책은 전부 user-owned라 업데이트가 원고를 건드리지 않습니다. 베이스가 갱신돼도 챕터가 사라지지 않습니다.
mixed: 3-way 안내
섹션 제목: “mixed: 3-way 안내”CLAUDE.md, AGENTS.md, README.md 셋입니다. 베이스와 사용자 양쪽 편집이 동시에 들어갈 수 있어 자동 갱신하지 않고 diff만 보여주고 묻습니다. README.md는 fork 사용자가 본인 책 정보로 덧댈 수 있는 파일이라, 통째로 덮으면 사용자 메모가 사라집니다.
한 사이클
섹션 제목: “한 사이클”/update-from-base 또는 “베이스 업데이트 받아줘”라고 부르면 다음을 거칩니다.
git status --porcelain으로 dirty 상태를 검사합니다. 저장 안 된 변경이 있으면git stash를 권합니다git fetch base main으로 최신 변경을 가져옵니다git diff --name-status <last_synced_commit>..base/main으로 변경 파일을 영역별로 분류합니다- base-owned 변경을 요약합니다. 새 스킬 N개, 갱신된 훅 M개,
AI_AUTOMATION.md갱신 여부를 알립니다 - 사용자가 동의하면 base-owned 경로만 적용합니다
- mixed 파일은 한 개씩 세 가지 선택지(통째 덮기, 3-way merge, 미루기) 중에서 골라 적용합니다
- 적용 후 검증하고 commit을 권합니다
사전 셋업으로 베이스를 git remote로 등록하는 절차는 첫 호출이 자동으로 안내합니다.
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 키워드를 가진 별도 스킬을 자기 디렉터리에 만듭니다.
인접 문서
섹션 제목: “인접 문서”비개발자 눈높이로 같은 절차를 따라가는 문서는 비개발자용 업데이트에 있습니다.