packaging

rename-repo

산출물 — 새 이름으로 바뀐 GitHub 저장소, 갱신된 로컬 origin URL, 그리고 옛 이름을 하드코딩하고 있던 모든 파일을 고친 커밋 1건.

01

언제 쓰고, 언제 안 쓰는가

쓴다

이름만 컨벤션을 벗어난 repo

repo 는 이미 있고 이름만 팀 컨벤션 <domain>-skills 에서 벗어난 경우에 쓴다.

쓰지 않는다

repo 가 없거나, 배치가 문제일 때

repo 자체가 없으면 scaffold-repo, 이름이 아니라 디렉터리 배치가 문제라면 structure-check / structure-refactor 다.

이 스킬이 고치는 것은 이름과 그 이름을 참조하는 문자열뿐이다. 레이아웃은 건드리지 않는다.

02

동작 단계

단계 0 부터 5 까지 순서대로 진행한다. 각 단계를 눌러 상세를 펼칠 수 있고, 확인 필수 표시가 붙은 단계는 사용자 확인 없이는 실행되지 않는다.

  1. 클론 · 인증 · 브랜치 사전 점검
    • git remote -v 로 클론 확인
    • remote URL 을 호스트 독립 패턴으로 파싱해 owner/repo 추출
    • gh auth status
    • 기본 브랜치면 거부
  2. 새 이름 결정
    • 인자를 쓰거나, plugin 구성을 보고 <domain>-skills 후보 1-2개 제안
    • 사용자가 고를 때까지 rename 하지 않음
  3. repo rename 실행 확인 필수
    • 파괴적, 확인 필수
    gh repo rename <new> --repo <org>/<OLD> --yes
  4. origin URL 갱신 후 검증
    • git remote set-url origin <new URL>
    • git ls-remote 로 검증
  5. 하드코딩된 옛 이름 교체
    • git grep -n "<OLD_REPO>" 로 참조를 찾는다
    • marketplace.json 의 name
    • plugin.json 의 homepage / repository
    • README 제목과 설치 명령을 교체
    • 끝나고 0건인지 재확인
  6. 커밋, 그리고 push 확인 필수
    • Conventional Commits 스타일로 커밋
    • push 는 별도 확인 후
03

호출 형식

명령동작
/packaging:rename-repo <new-name> 새 이름을 명시해 rename
/packaging:rename-repo 이름을 1-2개 제안받고 고르기
/packaging:rename-repo help 사용법 출력

<new-name> 은 <domain>-skills 형태의 소문자 + 하이픈이어야 한다. -skills 접미어가 없으면 자동으로 붙이고 알려 주며, claude-plugin- prefix 는 pre-#1410 옛 규칙이라 거부한다. 대문자나 언더스코어는 gh repo rename 을 깨거나 컨벤션을 위반한다.

04

주의사항 / 제약

기본 브랜치에서 동작하지 않는다. 작업 브랜치를 먼저 따야 한다.

rename(2단계)과 push(5단계)는 각각 명시적 사용자 확인이 필요하다.

gh auth login 같은 대화형 로그인은 대신 실행하지 않는다 — 사용자에게 안내만 한다.

github.com 과 사내 GHES 양쪽에서 동작한다. github.com 을 하드코딩하지 않고 remote URL 에서 호스트를 판별한다. GHES 에서 gh 가 실패하면 웹 UI 경로를 안내한다.

source 가 ./... 같은 상대경로인 필드는 건드리지 않는다 — repo 이름과 무관하기 때문이다.

marketplace.json 의 name 은 새 repo 이름과 1:1 로 일치해야 한다.