gc-guide/.claude/skills/sync-team-workflow/SKILL.md
htlee 456cfdddd9 feat: 전체 UI 구현 및 백엔드 인증 API 연동
- 테마 시스템: CSS 변수 + data-theme + Tailwind v4 시맨틱 색상 (다크모드 지원)
- 공통 컴포넌트: CodeBlock, Alert, StepGuide, CopyButton, TableOfContents
- 가이드 콘텐츠 8개 섹션 (React.lazy 동적 로딩, 실제 인프라 검증 완료)
- 관리자 페이지 4개 (사용자/롤/권한/통계)
- 레이아웃: 반응형 사이드바 + 테마 토글 + ScrollSpy 목차
- 인증: Google OAuth 로그인/세션복원/로그아웃 백엔드 API 연동
- 개발모드 mock 인증 (import.meta.env.DEV 전용)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:38:28 +09:00

3.5 KiB

name description allowed-tools
sync-team-workflow 팀 글로벌 워크플로우를 현재 프로젝트에 동기화합니다 Bash, Read, Write, Edit, Glob, Grep

팀 글로벌 워크플로우의 최신 버전을 현재 프로젝트에 적용합니다.

수행 절차

1. 글로벌 버전 조회

Gitea API로 template-common 리포의 workflow-version.json 조회:

GITEA_URL=$(python3 -c "import json; print(json.load(open('.claude/workflow-version.json')).get('gitea_url', 'https://gitea.gc-si.dev'))" 2>/dev/null || echo "https://gitea.gc-si.dev")

curl -sf "${GITEA_URL}/gc/template-common/raw/branch/develop/workflow-version.json"

2. 버전 비교

로컬 .claude/workflow-version.jsonapplied_global_version 필드와 비교:

  • 버전 일치 → "최신 버전입니다" 안내 후 종료
  • 버전 불일치 → 미적용 변경 항목 추출하여 표시

3. 프로젝트 타입 감지

자동 감지 순서:

  1. .claude/workflow-version.jsonproject_type 필드 확인
  2. 없으면: pom.xml → java-maven, build.gradle → java-gradle, package.json → react-ts

Gitea 파일 다운로드 URL 패턴

⚠️ Gitea raw 파일은 반드시 web raw URL을 사용해야 합니다 (/api/v1/ 경로 사용 불가):

GITEA_URL="${GITEA_URL:-https://gitea.gc-si.dev}"
# common 파일: ${GITEA_URL}/gc/template-common/raw/branch/develop/<파일경로>
# 타입별 파일: ${GITEA_URL}/gc/template-<타입>/raw/branch/develop/<파일경로>
# 예시:
curl -sf "${GITEA_URL}/gc/template-common/raw/branch/develop/.claude/rules/team-policy.md"
curl -sf "${GITEA_URL}/gc/template-react-ts/raw/branch/develop/.editorconfig"

4. 파일 다운로드 및 적용

위의 URL 패턴으로 해당 타입 + common 템플릿 파일 다운로드:

4-1. 규칙 파일 (덮어쓰기)

팀 규칙은 로컬 수정 불가 — 항상 글로벌 최신으로 교체:

.claude/rules/team-policy.md
.claude/rules/git-workflow.md
.claude/rules/code-style.md    (타입별)
.claude/rules/naming.md        (타입별)
.claude/rules/testing.md       (타입별)

4-2. settings.json (부분 갱신)

  • deny 목록: 글로벌 최신으로 교체
  • allow 목록: 기존 사용자 커스텀 유지 + 글로벌 기본값 병합
  • hooks: init-project SKILL.md의 hooks JSON 블록을 참조하여 교체 (없으면 추가)
    • SessionStart(compact) → on-post-compact.sh
    • PreCompact → on-pre-compact.sh
    • PostToolUse(Bash) → on-commit.sh

4-3. 스킬 파일 (덮어쓰기)

.claude/skills/create-mr/SKILL.md
.claude/skills/fix-issue/SKILL.md
.claude/skills/sync-team-workflow/SKILL.md
.claude/skills/init-project/SKILL.md

4-4. Git Hooks (덮어쓰기 + 실행 권한)

chmod +x .githooks/*

4-5. Hook 스크립트 갱신

init-project SKILL.md의 코드 블록에서 최신 스크립트를 추출하여 덮어쓰기:

.claude/scripts/on-pre-compact.sh
.claude/scripts/on-post-compact.sh
.claude/scripts/on-commit.sh

실행 권한 부여: chmod +x .claude/scripts/*.sh

5. 로컬 버전 업데이트

.claude/workflow-version.json 갱신:

{
  "applied_global_version": "새버전",
  "applied_date": "오늘날짜",
  "project_type": "감지된타입",
  "gitea_url": "https://gitea.gc-si.dev"
}

6. 변경 보고

  • git diff로 변경 내역 확인
  • 업데이트된 파일 목록 출력
  • 변경 로그(글로벌 workflow-version.json의 changes) 표시
  • 필요한 추가 조치 안내 (빌드 확인, 의존성 업데이트 등)