작업 시작 전 이 파일을 읽고 컨텍스트를 파악할 것. 반복 작업은
.claude/commands/의 해당 command를 사용할 것. 파일 전체를 읽기 전에 필요한 섹션만 먼저 확인할 것.
- 사이트명: OpenChain KWG (Korea Work Group) 공식 웹사이트
- URL: https://openchain-project.github.io/OpenChain-KWG
- 목적: 한국 기업 오픈소스 컴플라이언스 담당자 커뮤니티
- 기술 스택: Hugo + Docsy 테마, GitHub Pages 배포
- 언어: 한국어(ko) / 영어(en) 다국어 지원
OpenChain-KWG/
├── CLAUDE.md
├── CONTRIBUTING.md
├── hugo.toml # 메인 Hugo 설정 (언어·파라미터·모듈)
├── config.yaml # Hugo 버전 호환성 확인용 (수정 불필요)
├── archetypes/
│ └── meeting.md # 미팅 페이지 아키타입 (단일 파일)
├── content/
│ ├── ko/ # 한국어 콘텐츠 (기본 언어)
│ │ ├── about/ # 소개 (메뉴 weight: 10)
│ │ ├── meeting/ # 정기 미팅 (메뉴 weight: 20)
│ │ │ └── YYYY/NNth/ # 연도/회차별 디렉토리
│ │ ├── guide/ # 가이드 (메뉴 weight: 30)
│ │ │ ├── iso5230_guide/
│ │ │ ├── iso18974_guide/
│ │ │ ├── opensource_for_enterprise/
│ │ │ ├── tools/ # 도구 소개 페이지
│ │ │ └── templates/
│ │ ├── resource/ # 리소스 (메뉴 weight: 40)
│ │ │ ├── SBOM_work_group/
│ │ │ ├── AI_work_group/
│ │ │ └── Telco_work_group/
│ │ ├── subgroup/ # 서브그룹 (메뉴 weight: 50)
│ │ └── blog/ # 블로그 (메뉴 weight: 60)
│ │ └── YYYY/ # 연도별 포스트
│ └── en/ # 영어 콘텐츠 (ko와 구조 동일)
├── static/ # 정적 파일 (발표자료 업로드 금지)
├── assets/scss/ # 커스텀 스타일
├── layouts/ # 커스텀 레이아웃 (Docsy 오버라이드)
└── .claude/
└── commands/ # Claude Code 커스텀 커맨드
- 메뉴 설정 위치:
config/_default/menus.*.toml파일이 없음 - 메뉴는 각 섹션
_index.md프런트매터의menu: main: weight:블록에서 정의 - 예시:
content/ko/meeting/_index.md의menu: main: weight: 20 - 메뉴 변경 시 ko와 en 양쪽
_index.md모두 수정 필요
- 발표자료(PDF, PPTX 등)는 Git 저장소에 커밋하지 않는다
- GitHub Pages 용량 한도(1GB) 초과 방지를 위해 GitHub Releases로 이전
- 업로드 절차:
/upload-slidescommand 참고 - GitHub Releases 태그 규칙:
meeting-slides-YYYY(연도 단위) - 파일 URL 형식:
https://github.com/OpenChain-Project/OpenChain-KWG/releases/download/meeting-slides-YYYY/파일명.pdf - 자세한 절차:
CONTRIBUTING.md참고
content/ko/와content/en/양쪽을 항상 동기화해야 한다- 페이지 생성/수정 시 두 언어 버전 모두 반영 확인 필수
- 동기화 점검:
/sync-checkcommand 사용
- 태그 형식: YAML 인라인 배열
tags: ["태그1", "태그2"] - 태그 표준화 작업 스크립트:
.claude/work/디렉토리 참고extract_tags.py— 전체 태그 현황 추출 →current_tags.json(gitignore)analyze_tags.py— 태그 분석 및 표준화 사전 생성 →tag_mapping.json(gitignore),tag_analysis_report.mdupdate_tags.py— 태그 일괄 적용 (--dry-run플래그로 미리보기)
- 태그 수정 시 본문과 다른 프론트매터 속성은 절대 변경하지 않는다
- 적용 전 반드시
--dry-run먼저 실행하여 변경 목록 확인 - 표준 태그 현황:
.claude/skills/hugo-taxonomy.md참고 - 태그 규칙:
.claude/rules/tag-management.md참고
master브랜치에 push하면 GitHub Actions가 자동으로 빌드 및 배포- 작업은 feature 브랜치에서 하고 PR로 merge
- 브랜치 규칙:
meeting/NNth,slides/NNth,blog/주제키워드,fix/설명 - 배포 전 체크:
/deploy-checkcommand 사용
# 로컬 미리보기 (Draft 포함)
hugo server -D
# 미팅 페이지 생성 (archetypes/meeting.md 아키타입 사용)
# 파일은 content/ko/meeting/YYYY/NNth/_index.ko.md 로 생성됨
hugo new meeting/YYYY/NNth/_index.ko.md
# 빌드 테스트
hugo --minify| Command | 용도 |
|---|---|
/new-meeting |
새 정기 미팅 페이지 생성 (ko+en) |
/upload-slides |
발표자료 GitHub Releases 업로드 및 링크 연결 |
/sync-check |
ko/en 콘텐츠 동기화 점검 |
/deploy-check |
배포 전 체크리스트 실행 |
/guide-improve |
가이드 개선 오케스트레이터 — audit / section / links / evidence / status |
/guide-resume |
guide 작업 세션 재개 (TODO.md 기반) |
/guide-new-tool-page |
guide/tools 새 도구 페이지 추가 |
/guide-check-policy |
정책 템플릿 ISO 조항 충족 여부 점검 |
/guide-check-sbom-process |
SBOM 프로세스 페이지 점검 |
/guide-check-links |
가이드 내 링크 유효성 검사 |
/guide-verify-evidence |
입증자료 충족 여부 검증 (단건) |
static/디렉토리에 발표자료 파일 추가 금지- 새 미팅 페이지 생성 시 반드시 Archetype 템플릿 사용 (
archetypes/meeting.md) - ko/en 콘텐츠 한쪽만 수정하고 PR 올리지 않도록 주의
config.yaml은 수정하지 않음 (Hugo 버전 호환성 확인용 테스트 파일)