From 61ea7b746ebc0d786582e8cd84735c5f25481bcb Mon Sep 17 00:00:00 2001 From: Geunyoung Chae <186152309+chaeyn@users.noreply.github.com> Date: Sun, 25 Oct 2026 18:04:13 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20=EC=9E=91=EC=97=85=20=ED=8F=B4?= =?UTF-8?q?=EB=8D=94=20=EA=B8=B0=EB=B3=B8=20=EC=82=AC=EC=9A=A9=20=EB=B0=8F?= =?UTF-8?q?=20worktree=20=EC=A0=95=EB=A6=AC=20=EA=B7=9C=EC=B9=99=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .agent/skills/branch/SKILL.md | 17 ++++++++++++++--- .agent/skills/wiki-update/SKILL.md | 2 +- .../wiki-update/references/git-publish.md | 6 +++++- .claude/skills/branch/SKILL.md | 17 ++++++++++++++--- .claude/skills/wiki-update/SKILL.md | 2 +- .../wiki-update/references/git-publish.md | 6 +++++- .codex/skills/branch/SKILL.md | 17 ++++++++++++++--- .codex/skills/wiki-update/SKILL.md | 2 +- .../wiki-update/references/git-publish.md | 6 +++++- 9 files changed, 60 insertions(+), 15 deletions(-) diff --git a/.agent/skills/branch/SKILL.md b/.agent/skills/branch/SKILL.md index c5dc591..4a2c0ad 100644 --- a/.agent/skills/branch/SKILL.md +++ b/.agent/skills/branch/SKILL.md @@ -1,6 +1,6 @@ # 브랜치 생성 -이슈를 만든 뒤 작업에 맞는 브랜치를 사용해요. 현재 작업 폴더와 `git worktree`를 모두 사용할 수 있어요. +이슈를 만든 뒤 현재 작업 폴더에서 새 브랜치로 작업해요. `git worktree`는 격리가 필요할 때만 사용해요. ## 형식 @@ -13,7 +13,7 @@ ## 작업 위치 - 사용자가 현재 폴더나 특정 worktree를 지정했다면 그 위치를 사용해요. -- 현재 폴더에 관련 없는 변경이나 다른 작업이 있으면 그대로 두고 별도 worktree에서 진행해요. +- 기본은 현재 폴더의 새 브랜치예요. 같은 클론의 다른 에이전트·작업과 충돌할 위험이 있거나, 보존할 관련 없는 미커밋 변경이 있거나, 변경이 위험하거나 되돌리기 어려워 격리가 필요할 때만 별도 worktree를 사용해요. - 이미 이 작업의 브랜치나 worktree가 있으면 재사용해요. 매번 기본 브랜치로 돌아가지 않아요. - 기존 변경을 임의로 stash, restore, reset하거나 다른 작업의 worktree를 삭제하지 않아요. @@ -29,7 +29,7 @@ git pull --ff-only origin main git switch -c feat/github-release-download/#654 ``` -별도 worktree에서 시작할 때: +위 예외에 따라 별도 worktree에서 시작할 때: ```bash git fetch origin main @@ -37,3 +37,14 @@ git worktree add -b feat/github-release-download/#654 ../github-release-download ``` 사용자가 다른 시작 브랜치나 현재 변경 포함을 요청했다면 그 기준을 따라요. 위 예시의 브랜치명과 경로는 실제 작업에 맞춰 정해요. + +## 작업 후 정리 + +- PR을 push했거나 작업을 중단하면 이 작업에서 직접 만든 worktree를 반드시 정리해요. 다른 작업의 worktree는 삭제하지 않아요. +- 정리 전 미커밋·미푸시 변경을 확인해요. 남아 있으면 삭제하지 않고 보고해요. 사용자 승인 없이 `--force`를 사용하지 않아요. +- 제거한 뒤 prune해요. 경로는 직접 만든 worktree로 바꿔요. + +```bash +git worktree remove +git worktree prune +``` diff --git a/.agent/skills/wiki-update/SKILL.md b/.agent/skills/wiki-update/SKILL.md index 3793ee3..e39cc0a 100644 --- a/.agent/skills/wiki-update/SKILL.md +++ b/.agent/skills/wiki-update/SKILL.md @@ -15,7 +15,7 @@ metadata: ## 진행 -1. 클론 경로를 모르면 한 번 묻는다. 원격과 Git 상태를 확인한다. 기존 변경은 보존하고, 깨끗한 별도 worktree에서 요청 범위만 작업한다. +1. 클론 경로를 모르면 한 번 묻는다. 원격과 Git 상태를 확인한다. 기존 변경을 보존하고 현재 폴더의 새 브랜치에서 요청 범위만 작업한다. 같은 클론의 동시 작업과 충돌할 위험, 보존할 무관한 미커밋 변경, 위험하거나 되돌리기 어려운 변경의 격리가 필요한 경우에만 별도 worktree를 사용한다. PR push 후 또는 작업 중단 시 이 작업에서 만든 worktree만 정리한다. 미커밋·미푸시 변경이 있으면 삭제하지 않고 보고한다. 변경이 없으면 `git worktree remove ` 후 `git worktree prune`을 실행한다. 사용자 승인 없이 `--force`를 사용하지 않는다. 2. `get_wiki_status`와 로컬 HEAD를 비교한다. `get_context`로 관련 문단을 찾고, 필요한 부분만 `get_note_outline`·`read_sections`로 읽는다. [MCP 조회 절차](references/mcp-retrieval.md) 3. 기존 `question`에 맞는 문서를 우선 갱신한다. 근거, 담당 `owner`, `verification`, 시점을 정리하고 요청 밖의 변경을 빼둔다. [내용·메타데이터 기준](references/metadata-and-dates.md) 4. 선택한 섹션만 고친다. 전체 문서·섹션 hash를 검증하는 로컬 patch CLI를 우선 사용하고, 사람이 diff를 확인한다. [편집·검토 절차](references/edit-review.md) diff --git a/.agent/skills/wiki-update/references/git-publish.md b/.agent/skills/wiki-update/references/git-publish.md index 722518a..99d3069 100644 --- a/.agent/skills/wiki-update/references/git-publish.md +++ b/.agent/skills/wiki-update/references/git-publish.md @@ -4,7 +4,7 @@ 제공된 경로에서 `git rev-parse --show-toplevel`, `git remote get-url origin`, `git status --short -uall`을 확인한다. origin은 `team-framework/framework-llm-wiki`여야 한다. Git checkout이 아니거나 다른 원격이면 중단한다. -변경이 있으면 출처를 브랜치명으로 추정하거나 reset·restore·clean·stash하지 않는다. 기존 worktree를 보존하고 요청을 위한 별도 `git worktree`를 만든다. 사용자가 이 worktree의 변경도 요청한 경우에만 그 근거를 읽어 요청 범위에 반영한다. 잠금 파일·기존 커밋은 임의로 삭제하지 않는다. +변경이 있으면 출처를 브랜치명으로 추정하거나 reset·restore·clean·stash하지 않는다. 사용자가 기존 변경도 요청한 경우에만 그 근거를 읽어 요청 범위에 반영한다. 기본은 현재 폴더의 새 브랜치이며, 같은 클론의 동시 작업과 충돌할 위험, 보존할 무관한 미커밋 변경, 위험하거나 되돌리기 어려운 변경의 격리가 필요한 경우에만 별도 `git worktree`를 사용한다. 잠금 파일·기존 커밋은 임의로 삭제하지 않는다. 깨끗한 checkout이면 `main`을 `pull --ff-only`로 갱신한다. 로컬 커밋이 갈라져 fast-forward가 안 되면 reset하지 말고 중단한다. 이후 `get_wiki_status.wiki_commit`과 로컬 HEAD를 비교한다. MCP가 뒤처져도 로컬 checkout에서 본문을 추정해 인용하지 말고, 색인 지연을 답변에 밝힌다. @@ -15,3 +15,7 @@ 위키 업데이트 요청은 검증 후 push와 PR 생성을 포함한다. 사용자가 로컬 전용 등 제한을 주면 원격에 게시하지 않는다. 자동으로 머지하지 않는다. push가 실패하면 커밋과 브랜치를 보존하고 이유를 보고한다. push 후 PR을 만들 수 없으면 브랜치와 커밋 SHA, 남은 조치를 보고한다. PR 생성 후 URL과 변경 문서를 보고한다. 머지 및 홈서버 재색인 전에는 원격 검색 결과가 바뀌었다고 말하지 않는다. 이후 `get_wiki_status`로 색인 commit을 확인한다. + +## 작업 후 정리 + +PR push 후 또는 작업 중단 시 이 작업에서 만든 worktree만 반드시 정리한다. 다른 작업의 worktree는 삭제하지 않는다. 미커밋·미푸시 변경이 남아 있으면 삭제하지 않고 보고한다. 변경이 없으면 `git worktree remove ` 후 `git worktree prune`을 실행한다. 사용자 승인 없이 `--force`를 사용하지 않는다. diff --git a/.claude/skills/branch/SKILL.md b/.claude/skills/branch/SKILL.md index c5dc591..4a2c0ad 100644 --- a/.claude/skills/branch/SKILL.md +++ b/.claude/skills/branch/SKILL.md @@ -1,6 +1,6 @@ # 브랜치 생성 -이슈를 만든 뒤 작업에 맞는 브랜치를 사용해요. 현재 작업 폴더와 `git worktree`를 모두 사용할 수 있어요. +이슈를 만든 뒤 현재 작업 폴더에서 새 브랜치로 작업해요. `git worktree`는 격리가 필요할 때만 사용해요. ## 형식 @@ -13,7 +13,7 @@ ## 작업 위치 - 사용자가 현재 폴더나 특정 worktree를 지정했다면 그 위치를 사용해요. -- 현재 폴더에 관련 없는 변경이나 다른 작업이 있으면 그대로 두고 별도 worktree에서 진행해요. +- 기본은 현재 폴더의 새 브랜치예요. 같은 클론의 다른 에이전트·작업과 충돌할 위험이 있거나, 보존할 관련 없는 미커밋 변경이 있거나, 변경이 위험하거나 되돌리기 어려워 격리가 필요할 때만 별도 worktree를 사용해요. - 이미 이 작업의 브랜치나 worktree가 있으면 재사용해요. 매번 기본 브랜치로 돌아가지 않아요. - 기존 변경을 임의로 stash, restore, reset하거나 다른 작업의 worktree를 삭제하지 않아요. @@ -29,7 +29,7 @@ git pull --ff-only origin main git switch -c feat/github-release-download/#654 ``` -별도 worktree에서 시작할 때: +위 예외에 따라 별도 worktree에서 시작할 때: ```bash git fetch origin main @@ -37,3 +37,14 @@ git worktree add -b feat/github-release-download/#654 ../github-release-download ``` 사용자가 다른 시작 브랜치나 현재 변경 포함을 요청했다면 그 기준을 따라요. 위 예시의 브랜치명과 경로는 실제 작업에 맞춰 정해요. + +## 작업 후 정리 + +- PR을 push했거나 작업을 중단하면 이 작업에서 직접 만든 worktree를 반드시 정리해요. 다른 작업의 worktree는 삭제하지 않아요. +- 정리 전 미커밋·미푸시 변경을 확인해요. 남아 있으면 삭제하지 않고 보고해요. 사용자 승인 없이 `--force`를 사용하지 않아요. +- 제거한 뒤 prune해요. 경로는 직접 만든 worktree로 바꿔요. + +```bash +git worktree remove +git worktree prune +``` diff --git a/.claude/skills/wiki-update/SKILL.md b/.claude/skills/wiki-update/SKILL.md index 3793ee3..e39cc0a 100644 --- a/.claude/skills/wiki-update/SKILL.md +++ b/.claude/skills/wiki-update/SKILL.md @@ -15,7 +15,7 @@ metadata: ## 진행 -1. 클론 경로를 모르면 한 번 묻는다. 원격과 Git 상태를 확인한다. 기존 변경은 보존하고, 깨끗한 별도 worktree에서 요청 범위만 작업한다. +1. 클론 경로를 모르면 한 번 묻는다. 원격과 Git 상태를 확인한다. 기존 변경을 보존하고 현재 폴더의 새 브랜치에서 요청 범위만 작업한다. 같은 클론의 동시 작업과 충돌할 위험, 보존할 무관한 미커밋 변경, 위험하거나 되돌리기 어려운 변경의 격리가 필요한 경우에만 별도 worktree를 사용한다. PR push 후 또는 작업 중단 시 이 작업에서 만든 worktree만 정리한다. 미커밋·미푸시 변경이 있으면 삭제하지 않고 보고한다. 변경이 없으면 `git worktree remove ` 후 `git worktree prune`을 실행한다. 사용자 승인 없이 `--force`를 사용하지 않는다. 2. `get_wiki_status`와 로컬 HEAD를 비교한다. `get_context`로 관련 문단을 찾고, 필요한 부분만 `get_note_outline`·`read_sections`로 읽는다. [MCP 조회 절차](references/mcp-retrieval.md) 3. 기존 `question`에 맞는 문서를 우선 갱신한다. 근거, 담당 `owner`, `verification`, 시점을 정리하고 요청 밖의 변경을 빼둔다. [내용·메타데이터 기준](references/metadata-and-dates.md) 4. 선택한 섹션만 고친다. 전체 문서·섹션 hash를 검증하는 로컬 patch CLI를 우선 사용하고, 사람이 diff를 확인한다. [편집·검토 절차](references/edit-review.md) diff --git a/.claude/skills/wiki-update/references/git-publish.md b/.claude/skills/wiki-update/references/git-publish.md index 722518a..99d3069 100644 --- a/.claude/skills/wiki-update/references/git-publish.md +++ b/.claude/skills/wiki-update/references/git-publish.md @@ -4,7 +4,7 @@ 제공된 경로에서 `git rev-parse --show-toplevel`, `git remote get-url origin`, `git status --short -uall`을 확인한다. origin은 `team-framework/framework-llm-wiki`여야 한다. Git checkout이 아니거나 다른 원격이면 중단한다. -변경이 있으면 출처를 브랜치명으로 추정하거나 reset·restore·clean·stash하지 않는다. 기존 worktree를 보존하고 요청을 위한 별도 `git worktree`를 만든다. 사용자가 이 worktree의 변경도 요청한 경우에만 그 근거를 읽어 요청 범위에 반영한다. 잠금 파일·기존 커밋은 임의로 삭제하지 않는다. +변경이 있으면 출처를 브랜치명으로 추정하거나 reset·restore·clean·stash하지 않는다. 사용자가 기존 변경도 요청한 경우에만 그 근거를 읽어 요청 범위에 반영한다. 기본은 현재 폴더의 새 브랜치이며, 같은 클론의 동시 작업과 충돌할 위험, 보존할 무관한 미커밋 변경, 위험하거나 되돌리기 어려운 변경의 격리가 필요한 경우에만 별도 `git worktree`를 사용한다. 잠금 파일·기존 커밋은 임의로 삭제하지 않는다. 깨끗한 checkout이면 `main`을 `pull --ff-only`로 갱신한다. 로컬 커밋이 갈라져 fast-forward가 안 되면 reset하지 말고 중단한다. 이후 `get_wiki_status.wiki_commit`과 로컬 HEAD를 비교한다. MCP가 뒤처져도 로컬 checkout에서 본문을 추정해 인용하지 말고, 색인 지연을 답변에 밝힌다. @@ -15,3 +15,7 @@ 위키 업데이트 요청은 검증 후 push와 PR 생성을 포함한다. 사용자가 로컬 전용 등 제한을 주면 원격에 게시하지 않는다. 자동으로 머지하지 않는다. push가 실패하면 커밋과 브랜치를 보존하고 이유를 보고한다. push 후 PR을 만들 수 없으면 브랜치와 커밋 SHA, 남은 조치를 보고한다. PR 생성 후 URL과 변경 문서를 보고한다. 머지 및 홈서버 재색인 전에는 원격 검색 결과가 바뀌었다고 말하지 않는다. 이후 `get_wiki_status`로 색인 commit을 확인한다. + +## 작업 후 정리 + +PR push 후 또는 작업 중단 시 이 작업에서 만든 worktree만 반드시 정리한다. 다른 작업의 worktree는 삭제하지 않는다. 미커밋·미푸시 변경이 남아 있으면 삭제하지 않고 보고한다. 변경이 없으면 `git worktree remove ` 후 `git worktree prune`을 실행한다. 사용자 승인 없이 `--force`를 사용하지 않는다. diff --git a/.codex/skills/branch/SKILL.md b/.codex/skills/branch/SKILL.md index c5dc591..4a2c0ad 100644 --- a/.codex/skills/branch/SKILL.md +++ b/.codex/skills/branch/SKILL.md @@ -1,6 +1,6 @@ # 브랜치 생성 -이슈를 만든 뒤 작업에 맞는 브랜치를 사용해요. 현재 작업 폴더와 `git worktree`를 모두 사용할 수 있어요. +이슈를 만든 뒤 현재 작업 폴더에서 새 브랜치로 작업해요. `git worktree`는 격리가 필요할 때만 사용해요. ## 형식 @@ -13,7 +13,7 @@ ## 작업 위치 - 사용자가 현재 폴더나 특정 worktree를 지정했다면 그 위치를 사용해요. -- 현재 폴더에 관련 없는 변경이나 다른 작업이 있으면 그대로 두고 별도 worktree에서 진행해요. +- 기본은 현재 폴더의 새 브랜치예요. 같은 클론의 다른 에이전트·작업과 충돌할 위험이 있거나, 보존할 관련 없는 미커밋 변경이 있거나, 변경이 위험하거나 되돌리기 어려워 격리가 필요할 때만 별도 worktree를 사용해요. - 이미 이 작업의 브랜치나 worktree가 있으면 재사용해요. 매번 기본 브랜치로 돌아가지 않아요. - 기존 변경을 임의로 stash, restore, reset하거나 다른 작업의 worktree를 삭제하지 않아요. @@ -29,7 +29,7 @@ git pull --ff-only origin main git switch -c feat/github-release-download/#654 ``` -별도 worktree에서 시작할 때: +위 예외에 따라 별도 worktree에서 시작할 때: ```bash git fetch origin main @@ -37,3 +37,14 @@ git worktree add -b feat/github-release-download/#654 ../github-release-download ``` 사용자가 다른 시작 브랜치나 현재 변경 포함을 요청했다면 그 기준을 따라요. 위 예시의 브랜치명과 경로는 실제 작업에 맞춰 정해요. + +## 작업 후 정리 + +- PR을 push했거나 작업을 중단하면 이 작업에서 직접 만든 worktree를 반드시 정리해요. 다른 작업의 worktree는 삭제하지 않아요. +- 정리 전 미커밋·미푸시 변경을 확인해요. 남아 있으면 삭제하지 않고 보고해요. 사용자 승인 없이 `--force`를 사용하지 않아요. +- 제거한 뒤 prune해요. 경로는 직접 만든 worktree로 바꿔요. + +```bash +git worktree remove +git worktree prune +``` diff --git a/.codex/skills/wiki-update/SKILL.md b/.codex/skills/wiki-update/SKILL.md index 3793ee3..e39cc0a 100644 --- a/.codex/skills/wiki-update/SKILL.md +++ b/.codex/skills/wiki-update/SKILL.md @@ -15,7 +15,7 @@ metadata: ## 진행 -1. 클론 경로를 모르면 한 번 묻는다. 원격과 Git 상태를 확인한다. 기존 변경은 보존하고, 깨끗한 별도 worktree에서 요청 범위만 작업한다. +1. 클론 경로를 모르면 한 번 묻는다. 원격과 Git 상태를 확인한다. 기존 변경을 보존하고 현재 폴더의 새 브랜치에서 요청 범위만 작업한다. 같은 클론의 동시 작업과 충돌할 위험, 보존할 무관한 미커밋 변경, 위험하거나 되돌리기 어려운 변경의 격리가 필요한 경우에만 별도 worktree를 사용한다. PR push 후 또는 작업 중단 시 이 작업에서 만든 worktree만 정리한다. 미커밋·미푸시 변경이 있으면 삭제하지 않고 보고한다. 변경이 없으면 `git worktree remove ` 후 `git worktree prune`을 실행한다. 사용자 승인 없이 `--force`를 사용하지 않는다. 2. `get_wiki_status`와 로컬 HEAD를 비교한다. `get_context`로 관련 문단을 찾고, 필요한 부분만 `get_note_outline`·`read_sections`로 읽는다. [MCP 조회 절차](references/mcp-retrieval.md) 3. 기존 `question`에 맞는 문서를 우선 갱신한다. 근거, 담당 `owner`, `verification`, 시점을 정리하고 요청 밖의 변경을 빼둔다. [내용·메타데이터 기준](references/metadata-and-dates.md) 4. 선택한 섹션만 고친다. 전체 문서·섹션 hash를 검증하는 로컬 patch CLI를 우선 사용하고, 사람이 diff를 확인한다. [편집·검토 절차](references/edit-review.md) diff --git a/.codex/skills/wiki-update/references/git-publish.md b/.codex/skills/wiki-update/references/git-publish.md index 722518a..99d3069 100644 --- a/.codex/skills/wiki-update/references/git-publish.md +++ b/.codex/skills/wiki-update/references/git-publish.md @@ -4,7 +4,7 @@ 제공된 경로에서 `git rev-parse --show-toplevel`, `git remote get-url origin`, `git status --short -uall`을 확인한다. origin은 `team-framework/framework-llm-wiki`여야 한다. Git checkout이 아니거나 다른 원격이면 중단한다. -변경이 있으면 출처를 브랜치명으로 추정하거나 reset·restore·clean·stash하지 않는다. 기존 worktree를 보존하고 요청을 위한 별도 `git worktree`를 만든다. 사용자가 이 worktree의 변경도 요청한 경우에만 그 근거를 읽어 요청 범위에 반영한다. 잠금 파일·기존 커밋은 임의로 삭제하지 않는다. +변경이 있으면 출처를 브랜치명으로 추정하거나 reset·restore·clean·stash하지 않는다. 사용자가 기존 변경도 요청한 경우에만 그 근거를 읽어 요청 범위에 반영한다. 기본은 현재 폴더의 새 브랜치이며, 같은 클론의 동시 작업과 충돌할 위험, 보존할 무관한 미커밋 변경, 위험하거나 되돌리기 어려운 변경의 격리가 필요한 경우에만 별도 `git worktree`를 사용한다. 잠금 파일·기존 커밋은 임의로 삭제하지 않는다. 깨끗한 checkout이면 `main`을 `pull --ff-only`로 갱신한다. 로컬 커밋이 갈라져 fast-forward가 안 되면 reset하지 말고 중단한다. 이후 `get_wiki_status.wiki_commit`과 로컬 HEAD를 비교한다. MCP가 뒤처져도 로컬 checkout에서 본문을 추정해 인용하지 말고, 색인 지연을 답변에 밝힌다. @@ -15,3 +15,7 @@ 위키 업데이트 요청은 검증 후 push와 PR 생성을 포함한다. 사용자가 로컬 전용 등 제한을 주면 원격에 게시하지 않는다. 자동으로 머지하지 않는다. push가 실패하면 커밋과 브랜치를 보존하고 이유를 보고한다. push 후 PR을 만들 수 없으면 브랜치와 커밋 SHA, 남은 조치를 보고한다. PR 생성 후 URL과 변경 문서를 보고한다. 머지 및 홈서버 재색인 전에는 원격 검색 결과가 바뀌었다고 말하지 않는다. 이후 `get_wiki_status`로 색인 commit을 확인한다. + +## 작업 후 정리 + +PR push 후 또는 작업 중단 시 이 작업에서 만든 worktree만 반드시 정리한다. 다른 작업의 worktree는 삭제하지 않는다. 미커밋·미푸시 변경이 남아 있으면 삭제하지 않고 보고한다. 변경이 없으면 `git worktree remove ` 후 `git worktree prune`을 실행한다. 사용자 승인 없이 `--force`를 사용하지 않는다.