Librarian
Librarian은 사용자의 로컬 환경에 있는 최신 개발자 문서를 가져와서(fetches) 검색할 수 있게 해줍니다.
이 도구를 사용하여 AI 에이전트에게 실제 컨텍스트를 제공함으로써, 에이전트가 추측하거나 잘못된 코드를 작성하는 것을 방지할 수 있습니다.
GitHub 레포지토리와 공개 웹사이트를 지원합니다.
설치 (Install)
npm
npm i -g @iannuttall/librarian
bun
bun add -g @iannuttall/librarian
참고: npm 설치 후에도 런타임에는 Bun이 필요합니다. CLI는 Bun이 누락된 경우 설치를 요청할 것입니다.
Bun 설치 (선택 사항):
curl -fsSL https://bun.sh/install | bash
업데이트 (Updates)
현재 버전 확인하기
업데이트 (bun vs npm 자동 감지)
Librarian은 또한 명령을 실행할 때마다 하루에 한 번 업데이트 여부를 확인하고 적절한 업데이트 명령을 제안합니다.
빠른 시작 (Quick start) (레포지토리에서)
설정 과정 중 전역 설치(global install)를 선택했다면, 아래의 librarian을 사용하세요. 그렇지 않다면 ./librarian을 사용하세요.
librarian add https://github.com/honojs/website --docs docs
librarian add https://hono.dev/docs
librarian library "honojs"
librarian search --library honojs/website "middleware"
소스 (Sources)
GitHub 레포지토리
librarian add https://github.com/owner/repo --docs docs --ref main
librarian add https://github.com/owner/repo --version 16.x
웹사이트 (Websites)
기본 방식 - llms.txt, sitemap.xml, robots.txt를 통해 자동 발견
librarian add https://docs.example.com
옵션 사용 시
librarian add https://docs.example.com/api --depth 3 --pages 500
특정 경로 지정
librarian add https://example.com --allow /docs,/api --deny /blog
인제스트 (Ingest)
모든 소스 인제스트
동시성(concurrency)을 이용한 인제스트 (기본값: 5)
librarian ingest --concurrency 10
강제 재인제스트
인제스트 및 임베딩(embed)
시드 소스(Seed sources)
내장된 시드 목록을 추가하고 자동 수집합니다.
기본 시드 목록은 이 리포의 data/libraries.yml에 있습니다.
검색 (Search)
하이브리드 검색 (단어 + 의미)
librarian search --library vercel/next.js "middleware"
단어만 검색
librarian search --library vercel/next.js --mode word "middleware"
의미만 검색
librarian search --library vercel/next.js --mode vector "middleware"
JSON 출력
librarian search --library vercel/next.js --json "middleware"
버전별 필터링
librarian search --library vercel/next.js --version 16.x "middleware"
혼합된 결과를 방지하려면 검색 범위를 라이브러리 버전 레이블로 제한해야 합니다. 리포지토리 내에 있다면 다음을 실행하세요:
그런 다음 해당 레이블을 search에 전달합니다. 리포지토리가 아니라면, 먼저 librarian library "<이름>"를 실행하여 사용 가능한 버전 레이블을 확인하는 라이브러리 검색을 수행하세요.
라이브러리 검색 (Library search)
라이브러리를 찾고 버전을 나열합니다.
librarian library "nextjs"
기타 명령어 (Other commands)
소스 목록 보기
소스 제거
librarian source remove 1
시드 목록에서 소스 추가
문서 읽기
librarian get --library vercel/next.js docs/guide.md
슬라이스(Slice) 읽기
librarian get --library vercel/next.js --doc 69 --slice 19:73
카운트 표시
현재 작업 디렉토리(cwd)의 버전 감지
Librarian 업데이트
비활성 문서 정리
MCP 서버 (MCP server)
MCP 서버 시작 (stdio)
도구:
- search (
mode를 사용하여 word/vector/hybrid 지정 가능)
- library
- get
설정 (Configuration)
설정 파일: ~/.config/librarian/config.yml
github:
token: ghp_xxx
...
참고 사항
setup은 로컬 임베딩 모델(local embedding model)을 다운로드합니다.
- 공개 레포지토리는 GitHub 토큰이 필요하지 않습니다.
- 웹사이트 크롤링은 CSR/SPA 사이트를 자동 감지하고 헤드리스 Chrome(headless Chrome)을 사용합니다.
- Chrome은 자동으로 감지되지만 수동으로 설정할 수도 있습니다.
librarian setup을 실행하여 Chrome 사용 가능 여부를 확인하세요.
- 레포지토리 체크아웃에서
librarian이 작동하지 않으면 ./librarian을 사용하세요.
- 더 많은 예시는
docs/usage.md에 있습니다.
에이전트 스킬 (Agent skills)
스킬은 점진적 공개(progressive disclosure) 방식을 사용하므로, 시작 시에는 스킬 이름과 설명만 로드됩니다.
Codex
- 번들된 스킬을 Codex 스킬 폴더에 복사하세요:
cp -R skills/librarian ~/.codex/skills/librarian
- 직접 호출은 Codex CLI에서 작동합니다:
$librarian 또는 /skills를 사용하세요.
- Codex 웹 및 iOS는 아직 직접 호출을 지원하지 않으므로, 단순히 librarian 스킬 사용을 요청하면 됩니다.
Claude Code
- 스킬을 Claude Code 스킬 폴더에 복사하세요:
mkdir -p ~/.claude/skills
cp -R skills/librarian ~/.claude/skills/librarian
Factory
- 스킬을 Factory 스킬 폴더에 복사하세요:
mkdir -p ~/.factory/skills
cp -R skills/librarian ~/.factory/skills/librarian