GitHub 리포지토리·이슈·PR을 Markdown으로 저장하는 방법 (2026 가이드)

·

GitHub 콘텐츠는 README, 이슈, PR, Discussion, Gist에 흩어져 있습니다 --- 그리고 이 중 무엇이든 LLM에 넣으려면 Markdown이 아닌 한 고통스럽죠. README는 이미 거기 있죠, 그렇지만 정말 필요한 부분은 누군가가 마침내 워크어라운드를 찾아낸 80개 댓글의 이슈 스레드거나, breaking change가 설명된 PR이거나, 왜 그 API가 그런 식으로 설계되었는지 설명하는 Discussion입니다. 그 어떤 것도 Claude에서 쓸 만한 컨텍스트가 되기까지 한 번의 클릭이 부족합니다.

이 가이드는 GitHub 콘텐츠를 깔끔한 Markdown으로 변환하는 모든 방법을 다룹니다 --- 단일 README에서 긴 PR 토론, 전체 리포지토리까지.

왜 GitHub 콘텐츠를 Markdown으로 저장해야 할까?

Markdown은 코드 지식이 가야 할 어디서든 작동하는 포맷입니다:

  • LLM에 넣기 --- Claude, ChatGPT, Gemini, 로컬 모델 모두 Markdown을 네이티브로 컨텍스트로 읽으며, 코드 블록과 언어 식별자가 보존됩니다
  • Obsidian이나 Notion에 넣기 --- 이슈나 리포지토리당 파일 하나, 완전히 검색 가능, 헤딩이 제대로
  • 스레드가 잠기거나 삭제되기 전에 아카이브 --- 메인테이너는 이슈를 닫고, 리포지토리는 비공개로 전환되며, 당신의 노트가 GitHub의 가동시간에 의존해서는 안 됩니다
  • 오프라인 문서 구축 --- 여러 리포지토리의 README를 하나의 레퍼런스로 컴파일
  • 긴 스레드에서 특정 댓글 인용 --- 200개 댓글의 이슈에서 유일하게 유용한 답변으로 되돌아가는 게 검색 한 번 거리

2026년 GitHub-Markdown 트래픽 대부분을 주도하는 사용 사례는 첫 번째입니다: 개발자들은 라이브러리, 버그, 디자인 결정에 대해 LLM에게 묻고 싶지만, URL을 붙여넣는 것만으로는 모델이 필요로 하는 것을 주지 못합니다.

방법 1: Save (가장 빠름, 원클릭)

Save는 GitHub의 어떤 페이지든 클릭 한 번으로 Markdown 파일로 바꾸는 Chrome 확장 프로그램입니다. 렌더링된 페이지를 읽고, 가능한 경우 원래 Markdown을 재구성하며, Claude, Obsidian, 문서 폴더에 바로 떨어지는 것을 만들어냅니다.

작동 방식:

  1. Chrome에서 GitHub 페이지 열기 --- 리포지토리, 이슈, PR, Discussion, Gist 또는 위키
  2. 툴바의 Save 확장 아이콘 클릭
  3. .md 파일이 즉시 다운로드됩니다 (연결되어 있다면 Save Vault에 도착)

얻는 것:

  • 코드 블록, 표, 헤딩이 그대로 보존된 README
  • 이슈와 PR의 제목, 본문, 상태, 스레드화된 댓글
  • 적절한 중첩이 적용된 Discussion 스레드
  • 링크된 참조 이슈와 @mentions 보존
  • 라벨, 마일스톤, 담당자가 프런트매터에
  • 코드 블록은 언어 식별자를 유지 (Markdown 뷰어에서 구문 강조 작동)
  • Gist (단일 파일·다중 파일) 지원
  • 리포지토리, 작성자, 날짜, URL, 상태(open/closed/merged) 포함 프런트매터

제거되는 것:

  • GitHub 내비게이션, 사이드바, 푸터
  • 각 댓글 아래의 리액션 이모지 행
  • “X hidden items” 접힘 (Save가 펼쳐서 포함)
  • CI, dependabot, stale-bot의 봇 댓글 (토글 가능)
  • 이전 댓글을 그대로 메아리치는 반복된 quote-reply

적합한 대상: AI로 디버깅하는 개발자, 문서를 컴파일하는 테크니컬 라이터, 스레드를 아카이브하는 연구자, 라이브러리가 실제로 어떻게 작동하는지에 대한 개인 지식 베이스를 만드는 사람. Claude에 붙여넣거나 Obsidian에서 읽을 깔끔한 Markdown이 필요하다면, 이게 가장 깔끔한 길입니다.

출력 예시

이슈 스레드를 저장하면 다음과 같이 만들어집니다:

---
title: "Memory leak when using streaming with large responses"
repo: anthropics/anthropic-sdk-python
number: 412
author: alice-dev
state: closed
labels: ["bug", "streaming", "memory"]
assignees: ["bob-maintainer"]
milestone: "v0.34.0"
created: 2026-03-12
closed: 2026-03-18
url: https://github.com/anthropics/anthropic-sdk-python/issues/412
---

## Issue

When streaming responses larger than ~50MB, memory grows linearly and is
never released. Reproduced on Python 3.11 and 3.12, macOS and Linux.

**Reproduction:**

\`\`\`python
from anthropic import Anthropic

client = Anthropic()
with client.messages.stream(...) as stream:
    for text in stream.text_stream:
        print(text, end="")
\`\`\`

After the loop ends, `tracemalloc` shows the buffer is still resident.

## Comments

### bob-maintainer (maintainer) --- 2026-03-13

Confirmed. The internal buffer in `_streaming.py` isn't being cleared on
context exit. Looking at it now.

### alice-dev --- 2026-03-14

Thanks. Workaround for anyone hitting this: call `stream.close()`
explicitly before the `with` block exits. References #389.

### bob-maintainer (maintainer) --- 2026-03-18

Fixed in #418, released in v0.34.0. Closing.

그 파일은 붙여넣기 한 번 거리에서 Claude의 쓸 만한 컨텍스트가 되고, 키 입력 한 번 거리에서 영구적인 Obsidian 노트가 됩니다.

방법 2: GitHub API + 스크립트

GitHub의 REST 및 GraphQL API는 모든 것을 노출합니다 --- README, 이슈, 댓글, PR diff. 가져와서 변환하는 스크립트를 작성할 수 있습니다.

gh api repos/OWNER/REPO/issues/412 --jq '.body' > issue-412.md
gh api repos/OWNER/REPO/issues/412/comments --jq '.[].body' >> issue-412.md

적합한 대상: 문서 파이프라인을 구축하는 엔지니어링 팀, 여러 리포지토리에 걸쳐 이슈나 PR을 대량 내보내는 스크립트를 작성하는 사람.

이 방식의 문제점:

  • API는 원시 Markdown 본문을 반환하지만, 제목 + 본문 + 댓글 + 메타데이터를 하나의 읽기 쉬운 파일로 꿰매는 것은 당신의 문제
  • 프런트매터(라벨, 마일스톤, 담당자, 상태)는 여러 API 호출과 수동 조립이 필요
  • 댓글 순서, 작성자 귀속, 중첩된 답글 체인은 커스텀 로직이 필요
  • 대형 리포지토리에서 rate limit에 빠르게 도달 (인증 시 시간당 5,000 요청)
  • Discussion은 REST가 아닌 GraphQL API 뒤에 있으므로, 스크립트는 두 개의 파이프라인이 됨
  • PR diff와 리뷰 댓글은 다시 별도의 엔드포인트

파이프라인을 구축하는 경우 올바른 방법입니다. 단일 이슈에는 과합니다.

방법 3: Clone + 로컬 변환 (전체 리포지토리용)

README와 리포지토리 내 문서의 경우, 가장 간단한 방법은 클론해서 파일을 직접 읽는 것입니다 --- 디스크에 이미 Markdown으로 있습니다.

git clone https://github.com/OWNER/REPO.git
cd REPO
cat README.md docs/*.md > combined.md

적합한 대상: 리포지토리 문서에 오프라인 액세스를 원하는 개발자, 또는 전체 문서 트리를 긴 컨텍스트 LLM에 넣어야 하는 사람.

이 방식의 문제점:

  • 리포지토리에 저장된 콘텐츠(README, /docs, 별도로 클론된 위키)에만 작동
  • 이슈, PR, Discussion은 캡처하지 않음 --- 그것들은 git 트리가 아니라 GitHub 데이터베이스에 있음
  • 문서와 이슈 간의 크로스 레퍼런스가 깨짐 (#412는 로컬에서 해석되지 않음)
  • README의 이미지 URL은 종종 user-attachments.githubusercontent.com을 가리키며 오프라인 사용을 위해 다시 작성해야 함
  • 하나의 파일을 원한다면 여전히 결합하고 정리할 스크립트가 필요

“문서를 오프라인으로 원해”에는 괜찮습니다. “80개 댓글의 이 이슈 스레드를 원해”에는 잘못된 도구입니다.

방법 4: 브라우저에서 수동 복사

무차별 대입 방법: 페이지를 열고 모두 선택하고 Markdown 에디터에 붙여넣고 정리.

단계:

  1. 브라우저에서 이슈나 PR 열기
  2. 관련 섹션(또는 전체 페이지) 선택
  3. Obsidian, VS Code 또는 다른 Markdown 에디터에 붙여넣기
  4. UI 노이즈(리액션, 내비, 사이드바) 수동으로 제거
  5. 코드 펜스 재추가, 댓글 순서 수정, 프런트매터 추가

이 방식의 문제점:

  • 코드 블록이 언어 식별자와 구문 강조를 잃음
  • 댓글 작성자와 타임스탬프가 구조화된 프런트매터가 아닌 자유형 텍스트로 끝남
  • README의 표는 종종 탭 구분자가 있는 일반 텍스트로 붙여넣어짐
  • 리액션 행 (+1 heart rocket)이 본문에 새어 나옴
  • 스레드화된 Discussion 중첩이 평평한 텍스트로 무너짐
  • 긴 스레드에 10분 소요; 저장하는 모든 이슈에 곱하세요

짧은 README에는 작동. 실제 이슈 스레드에서는 무너짐.

어떤 방법을 사용해야 할까?

시나리오최적의 방법
이슈나 PR을 Claude에 붙여넣기Save --- 원클릭, 구조화된 출력
긴 Discussion 스레드 아카이브Save --- 중첩과 메타데이터 보존
리포지토리 문서의 오프라인 복사본 빌드git clone --- README는 이미 Markdown
여러 리포지토리에서 이슈 대량 내보내기GitHub API + 스크립트 --- 프로그래밍 방식
단일 README를 빠르게 저장Save --- 클론 단계 생략
개인 노트용 일회성 빠른 참조수동 복사 --- 짧은 페이지에 작동

대부분의 개발자에게 --- 특히 GitHub 콘텐츠를 AI 컨텍스트로 사용하는 누구든 --- Save가 답입니다. 설정 없이 가장 깔끔한 Markdown을 생성하고, 긴 이슈 스레드를 README와 동일한 속도로 처리합니다.

Save가 처리하는 엣지 케이스

  • 비공개 리포지토리. Save는 로그인된 브라우저 세션을 사용합니다. GitHub 계정이 리포지토리를 볼 수 있다면, Save가 읽을 수 있습니다. 구성할 API 토큰이 없습니다.
  • 셀프 호스팅 GitHub Enterprise. 모든 github.* 도메인 패턴에서 작동합니다. Save는 렌더링된 페이지를 읽기 때문에 UI가 GitHub의 표준 레이아웃인 한 변환이 작동합니다.
  • GitHub Discussions vs Issues. 둘 다 지원됩니다. Discussion은 카테고리를 프런트매터로 (category: Q&A, category: Announcements), 중첩된 답글을 스레드 구조로 가져옵니다.
  • PR diff와 파일 변경사항. 관련된 경우 유지됩니다. PR 본문, 리뷰 댓글, 파일 수준 대화가 포함됩니다. 원시 diff 자체는 덤프되는 대신 요약됩니다 --- 일반적으로 LLM 컨텍스트에 5,000줄의 diff를 원하지 않습니다.
  • 리액션 이모지 행. 제거됩니다. 각 댓글 아래의 +1, heart, rocket 행은 트렌드 분석을 제외한 모든 것에 노이즈입니다.
  • 매우 긴 이슈 스레드. 수백 개의 댓글이 있는 스레드의 경우, Save는 이슈 본문, 메인테이너 응답, 해결 댓글 및 “Other comments: N omitted” 마커를 유지합니다. 모든 답글이 필요한 경우 전체 포함으로 토글 가능합니다.
  • 위키 페이지. 리포지토리 위키가 지원됩니다. 각 페이지는 하나의 Markdown 파일이 되며, 내부 위키 링크는 상대 경로로 다시 작성됩니다.
  • 프로젝트 보드. 프로젝트 보드 뷰는 구조화된 목록으로 캡처됩니다: 컬럼 → 카드 제목 → 링크된 이슈/PR. 스프린트가 닫히기 전에 아카이브하는 데 유용합니다.
  • 봇 댓글. Dependabot, stale-bot, CodeQL, GitHub Actions --- 모두 감지되고 토글 가능합니다. 거의 항상 노이즈를 추가하기 때문에 기본적으로 꺼져 있습니다.
  • 언어 식별자가 있는 코드 블록. 트리플 백틱 언어 태그 (```python, ```rust)는 보존되어 모든 Markdown 렌더러나 LLM이 구문 강조 힌트를 얻습니다.
  • Gist. 단일 파일과 다중 파일 Gist 모두 지원됩니다. 다중 파일 Gist는 각 파일이 섹션으로 있는 단일 Markdown 파일이 됩니다.

워크플로와 함께 사용하기

Markdown 출력은 필요한 모든 곳에서 작동합니다:

  • Claude / ChatGPT / Gemini --- 파일을 붙여넣고 “이 이슈가 왜 닫혔나요?” 또는 “이 PR의 디자인 결정을 요약해주세요”라고 물어보세요
  • Obsidian --- 볼트에 넣고, 이슈를 관련 노트에 링크하고, 저장한 모든 라이브러리에서 검색
  • Notion --- 직접 붙여넣기, 헤딩, 표, 코드 블록이 올바르게 렌더링됩니다
  • Cursor / Claude Code --- 파일을 프로젝트에 드롭하면 AI는 수정 사항을 제안할 때 업스트림 컨텍스트를 갖게 됩니다
  • Save Vault --- 연결한 경우, 모든 GitHub 저장은 리포지토리를 태그로 자동으로 거기에 도착하며, 다른 저장된 스레드로의 백링크가 있습니다

FAQ

Save는 비공개 리포지토리에서 작동하나요? 예. 로그인된 브라우저 세션을 사용하므로 GitHub 계정이 볼 수 있는 것은 무엇이든 Save가 저장할 수 있습니다. PAT나 OAuth 설정이 필요하지 않습니다.

GitHub Enterprise(셀프 호스팅)에서 작동하나요? 예. 도메인과 관계없이 모든 GitHub UI가 지원됩니다. 회사에서 github.acme-corp.com을 실행하는 경우 Save도 거기서 작동합니다.

500개 댓글 스레드의 모든 댓글을 캡처하나요? 기본적으로 Save는 이슈 본문, 메인테이너 응답 및 해결을 유지합니다. 전체 스레드의 경우 저장 전에 확장 메뉴에서 “Include all comments”를 토글하세요.

코드 블록이 올바르게 형식화되나요? 예. 트리플 백틱 펜스와 언어 식별자가 정확하게 보존됩니다. ```python```python로 유지되어 모든 LLM이나 Markdown 뷰어가 구문 강조를 얻습니다.

PR diff를 처리하나요? PR 본문, 리뷰 댓글, 인라인 파일 대화가 포함됩니다. 원시 diff는 통째로 덤프되는 대신 파일별로 요약됩니다 --- 보통 LLM 컨텍스트에 원하는 것입니다. 전체 패치가 필요한 경우 “Include raw diff”를 토글하세요.

GitHub Discussions는 어떻습니까? 완전히 지원됩니다. 카테고리, 중첩된 답글, 답변으로 표시 상태가 모두 구조화된 Markdown으로 전달됩니다.

@mentions와 크로스 레퍼런스를 보존하나요? 예. @username 멘션은 일반 텍스트 멘션으로 유지되고, #123 이슈 참조는 그대로 유지됩니다. GitHub로의 하이퍼링크로 원하는 경우 확장 프로그램이 저장 시 다시 작성할 수 있습니다.

GitHub 모바일 사이트에서 작동하나요? 확장 프로그램은 데스크톱 Chrome 전용입니다. 모바일에서는 URL을 복사해 데스크톱에서 열거나 Mac의 Save Vault에 공유하세요.

비용은 얼마인가요? Save에는 몇 개의 리포지토리와 이슈에서 시도해볼 수 있는 무료 티어가 있습니다. 그 이후에는 소액 구독이 더 많은 사용을 커버합니다.

관련 Save 가이드

## Continue reading

Jean-Sébastien Wallez

Written by

Jean-Sébastien Wallez

I've been making internet products for 10+ years. Built Save on weekends because I wanted my own reading library in clean markdown for Claude and Obsidian. Write here about web clipping, AI workflows, and the small things that make a personal knowledge base actually useful.

## try save

더 스마트하게 저장할 준비가 되셨나요?

클릭 한 번으로 모든 웹페이지를 Markdown으로 변환하세요.

Chrome에 추가 🐿️