Skip to content

Repository files navigation

10th-KG-study

10기 KG(Knowledge Graph) 스터디 레포입니다. 각자 공부한 내용(notes)과 실습 코드(labs)를 자기 폴더 아래에 정리합니다.

현황판: https://cloud-club.github.io/10th-KG-study/ — 누가 뭘 공부했고 어디까지 왔는지 한눈에.

구조

10th-KG-study/
├── README.md
├── CONTRIBUTING.md        # 참여 방법, 네이밍 규칙
├── CLAUDE.md              # 스터디 위키 스키마 — LLM 에이전트가 wiki/ 를 어떻게 쓰는지
├── .gitignore
├── docker-compose.yml     # 로컬 인프라: Postgres(pgvector) + Elasticsearch(nori) + Neo4j(APOC)
├── .env.example           # 인프라 비밀번호·포트 (cp .env.example .env)
├── infra/                 # 인프라 설정, 사용법 (infra/README.md)
├── data/                  # 각자 받아온 데이터셋 (git 무시, 컨테이너에 마운트됨)
├── members/               # 멤버별 개인 작업 공간
│   ├── cohorts.json       # 반(A반/B반…) 명단 — 현황판 지식그래프를 반별로 나눠 그림
│   ├── names.json         # GitHub 아이디 → 이름. 현황판에 아이디 대신 이름을 보여줌
│   └── <github-id>/
│       ├── README.md      # 자기소개, 목표
│       ├── readings.md    # 주차별 읽을거리·참고자료 (현황판에 모아서 표시)
│       ├── notes/         # 학습 정리 (01-topic.md ...)
│       └── labs/          # 실습 (01-topic/README.md + src/)
├── templates/             # notes / labs / readings 템플릿
│   ├── note-template.md
│   ├── lab-template.md
│   └── readings-template.md
├── shared/                # 공용 작업 공간
│   └── cloudclub-agent/
├── wiki/                  # 스터디 위키 (LLM 이 members/ 를 읽어 주제별로 합성). 옵시디언 볼트
│   ├── index.md           # 카탈로그 — 여기서부터 읽는다
│   ├── log.md             # 활동 로그
│   ├── concepts/ entities/ comparisons/ sources/ inbox/
│   └── _templates/
├── dashboard/             # 현황판 정적 사이트 (GitHub Pages)
├── scripts/               # 현황판 데이터 빌드 스크립트
└── .github/workflows/     # Pages 배포

참여 방법

  1. members/<github-id>/ 폴더를 만듭니다. (아래 명령 참고)
  2. README.md에 간단한 자기소개와 스터디 목표를 적습니다.
  3. notes/, labs/에 공부한 내용을 쌓아갑니다.
  4. 주차별 참고자료는 readings.md에 ## 1주차 제목 아래 링크로 적습니다. 현황판이 멤버 전체 것을 모아 보여줍니다.
  5. PR로 올립니다. 자세한 규칙은 CONTRIBUTING.md를 참고하세요.
GH_ID=<your-github-id>
mkdir -p members/$GH_ID/notes members/$GH_ID/labs
cp templates/note-template.md members/$GH_ID/notes/01-topic.md
cp templates/readings-template.md members/$GH_ID/readings.md

로컬 인프라 (Docker)

실습용 DB 세 개를 한 번에 띄웁니다. 자세한 건 infra/README.md.

cp .env.example .env
docker compose up -d      # PostgreSQL 17 + pgvector, Elasticsearch 9 + nori, Neo4j 5.26 + APOC
bash infra/check.sh       # 정상 기동 확인
서비스 접속
PostgreSQL + pgvector postgresql://kg:kg@localhost:5432/kg
Elasticsearch + nori http://localhost:9200
Neo4j + APOC bolt://localhost:7687, Browser http://localhost:7474 (neo4j / kgstudy2026)

받아온 데이터셋은 data/<github-id>/ 아래에 두면 컨테이너에서 바로 읽을 수 있고 git 에는 올라가지 않습니다.

스터디 위키 (wiki/)

members/에 흩어진 노트·실습을 주제별로 합성한 위키입니다. LLM 에이전트(Claude Code 등)가 규칙 CLAUDE.md에 따라 쓰고 유지합니다. 사람은 읽고, 질문하고, 자기 노트를 고칩니다.

  • 시작점은 wiki/index.md. 개념 페이지(concepts/)마다 "멤버들이 확인한 것"에 누가 어떤 조건에서 무엇을 측정했는지 모여 있고, 노트끼리 다르게 말하는 지점은 ⚠️ Contradiction으로 표시됩니다.
  • 내 노트가 어느 페이지에 반영됐는지는 wiki/sources/스터디-노트-지도.md.
  • wiki/ 아래를 직접 고치지 마세요. 틀린 게 있으면 자기 노트를 고치고 PR 을 올리면 다음 ingest 때 반영됩니다. 급하면 이슈나 wiki/inbox/에 메모를 남기세요.
  • 옵시디언으로 보려면 wiki/ 폴더를 볼트로 엽니다. 그래프 뷰가 주제 사이의 연결을 보여줍니다.
  • 갱신(ingest)은 매주 월요일 아침 GitHub Actions 가 자동으로 돌려 PR 로 올립니다 (wiki-ingest.yml). 급하면 이 저장소에서 Claude Code 를 열고 "PR #n 머지됐어, ingest 해줘" 또는 "위키 린트"라고 요청하면 됩니다. 밀린 소재는 python3 scripts/wiki_backlog.py. 규칙과 절차는 CLAUDE.md에 있고, .claude/hooks/의 훅이 규칙을 강제합니다.

현황판 (dashboard)

main에 푸시하면 GitHub Actions가 members/를 스캔해 노트·실습·커밋·활동 히트맵을 뽑고, GPT가 멤버별 칭호·요약·태그와 스터디 소식을 붙여 GitHub Pages로 배포합니다.

  • 노트/실습 맨 위 프론트매터의 tags가 지식그래프의 주제 노드가 됩니다. 비워두면 GPT가 채워줍니다.
  • 현황판에는 GitHub 아이디 대신 이름이 뜹니다. members/names.json에 {"github-id": "이름"}으로 적어 두면 카드·그래프·중계석·읽을거리·최근 활동과 GPT 문구까지 이름으로 부릅니다. 본인 README.md 맨 위 프론트매터에 name: 이름을 적으면 그게 우선입니다.
  • 지식그래프는 반(cohort) 단위로 따로 그립니다. members/cohorts.json에 {"A": ["id", ...]}처럼 반별 명단을 적고, 명단에 없는 새 멤버는 자동으로 마지막 반 다음 반(지금은 B반)에 들어갑니다. 반마다 색 계열이 달라(A반 하늘, B반 노을, C반 풀밭) 멤버 카드·피드·읽을거리에서도 어느 반인지 보입니다. B반이 다 찼으면 "B": [...]를 추가해 닫고, 그다음 합류자는 C반으로 갑니다.
  • "주차별 읽을거리"는 각자 members/<id>/readings.md의 ## N주차 아래 불릿을 모아 주차별로 보여줍니다. [제목](링크) — 메모 형식이면 링크·도메인·메모까지 뽑히고, 링크 없는 책 제목도 됩니다.
  • "중계석"은 최근 커밋의 diff를 GPT가 읽고 무슨 작업인지 캐스터 톤으로 중계합니다. 같은 멤버가 같은 날 올린 커밋은 한 사건으로 묶이고, 한 멤버는 피드에서 커밋 사건을 최대 3개까지만 차지합니다 (한 명이 도배하지 않도록). members/, shared/ 어디든 스터디 작업 커밋이면 잡히고, 3일 이상 연속 출석과 레벨 업도 사건으로 올라갑니다. 현황판 코드나 템플릿만 바꾼 커밋은 제외합니다.
  • 커밋은 멤버 폴더 경로, GitHub 로그인, 이메일 순으로 멤버에 연결됩니다. shared/ 커밋도 히트맵과 최근 활동에 포함됩니다.
  • 로컬 미리보기:
python3 scripts/build_dashboard.py                        # LLM 없이
OPENAI_API_KEY=sk-... python3 scripts/build_dashboard.py  # GPT 요약 포함
python3 -m http.server -d dashboard 8000                  # http://localhost:8000
  • GPT 요약을 켜려면 레포 Settings → Secrets and variables → Actions에 OPENAI_API_KEY를 등록합니다. 키가 없어도 규칙 기반 요약으로 빌드됩니다. 모델은 OPENAI_MODEL 변수로 바꿀 수 있습니다 (기본 gpt-5-mini).

멤버

GitHub ID 폴더
sese2204 members/sese2204
heebindev members/heebindev
lys0611 members/lys0611
e0ng members/e0ng
do-dop members/do-dop
kdyann members/kdyann
kungbi members/kungbi
sdunge members/sdunge
Yeongeunn members/Yeongeunn

About

10th-KG-study

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages