llms-txt은(는) 무엇을 하나요?
저장소 루트에 llmstxt.org 제안 표준을 따르는 고품질의 llms.txt 파일을 생성합니다. 이 파일은 프로젝트의 큐레이팅된 기계 판독 가능 인덱스, 즉 "LLM을 위한 목차"이며, 모델의 컨텍스트 윈도우에 쾌적하게 들어맞습니다.
존재 이유
LLM이 저장소를 맹목적으로 읽으면 무엇이 중요한지 추측해야 합니다. llms.txt는 프로젝트가 LLM에게 알려줍니다: 여기 프로젝트가 있고, 여기에 요약이 있으며, 여기에 우선순위별 표준 문서가 있고, 컨텍스트가 부족하면 건너뛸 수 있는 보조 리소스가 있습니다. 모델 시대의 robots.txt와 같습니다. 단, 모델이 더 잘 작동하도록 돕는 점이 다릅니다.
호출
| 트리거 | 동작 |
|---|---|
/llms-txt 또는 /llms-txt-gen | 저장소 루트에 llms.txt 생성 |
/llms-txt full | llms-full.txt도 생성 (전체 문서 연결, 잘림 없음) |
/llms-txt validate | 기존 llms.txt를 스펙에 대해 검증 |
/llms-txt update | 기존 llms.txt를 현재 저장소 상태로 새로고침, 수동 편집 내용 유지 |
| 자연어: "llms.txt 만들어줘", "이 저장소를 LLM 친화적으로 만들어줘", "llm 인덱스 생성해줘" | 동일 |
중지/비활성화
사실상 해당 없음 — 이는 일회성 생성기이며 세션 모드가 아닙니다. 그냥 호출하지 마세요.
실행 흐름
-
후보 발견.
scripts/discover.sh를 실행하여 다음을 열거합니다:- 프로젝트 메타데이터 파일:
README*,package.json,pyproject.toml,Cargo.toml,Gemfile,go.mod등 - 루트 수준 마크다운:
README.md,CHANGELOG.md,CONTRIBUTING.md,LICENSE,ARCHITECTURE.md등 docs/디렉토리 내용 (.md,.mdx,.rst)- 깊이 2~3의 기타 마크다운 (
node_modules,.git,vendor제외)
- 프로젝트 메타데이터 파일:
-
읽고 종합. README와 기본 메타데이터 파일을 읽습니다. 추출:
- 프로젝트 이름 (
package.json:name,pyproject.toml:[project].name, 또는 README H1에서) - 한 문장 요약 (README의 첫 번째 문단 또는
package.json:description에서) - 더 긴 컨텍스트 (README 소개에서 1~2 문단, 제목 없음)
- 프로젝트 이름 (
-
후보 분류를 H2 섹션으로. 합리적 기본값:
- Docs — 주요 사용자 대상 문서
- Examples — 샘플 코드, 튜토리얼, 빠른 시작 가이드
- API Reference — 생성되거나 직접 작성된 API 문서
- Optional — 보조 리소스 (CHANGELOG, 기여 가이드, RFC, 내부 노트)
## Optional섹션은 스펙에서 특별한 의미를 가집니다: 컨텍스트 예산이 부족한 LLM은 이것을 건너뛰어야 합니다. 필수가 아닌 모든 것을 여기에 넣으세요. -
llms.txt생성format.md의 형식을 따릅니다. 엄격한 구조:# Project Name > 한 문장 요약을 인용 블록 안에. 제목 없는 1~2 문단 컨텍스트 (선택 사항). ## Section - [Title](상대-또는-절대-URL): 한 줄 설명 - [Title](url): 설명 ## Optional - [Title](url): 설명 -
검증
scripts/validate.sh로 수행. 오류가 있으면 수정 후 재검증. -
미리보기 생성된 파일을 사용자에게 보여준 후 작성. 확인 요청.
-
쓰기
./llms.txt에. 파일이 이미 존재하면 차이점을 비교하고 덮어쓰기 전에 확인 요청 — 사용자가 추가한 수동 섹션 유지. -
선택 사항
llms-full.txt(full인수가 주어진 경우에만): 연결된 모든 문서의 전체 내용을 하나의 파일에 이어붙이고, 그 사이에# File: <path>헤더를 넣습니다. 이것은 "모든 것을 제공"하는 변형입니다.
안전 가드레일
- 미리보기와 확인 없이 기존
llms.txt를 덮어쓰지 마십시오. 수동 큐레이션이 포함될 수 있습니다. - 생성된 파일에 비밀 정보를 포함하지 마십시오.
.env*,*.pem,*key*,credentials*,*.secret과 일치하는 후보 파일을 건너뜁니다. 발견 시 사용자에게 경고. - 비공개 경로에 링크하지 마십시오 (
.git/,node_modules/,vendor/,target/,build/,dist/내부의 모든 것). - URL을 지어내지 마십시오. 모든 링크는 저장소의 실제 파일(상대 경로) 또는 README에 명시적으로 있는 URL을 가리켜야 합니다. 프로젝트 홈페이지를 추측하지 마십시오.
.gitignore를 존중하십시오. 후보 파일이 git에서 무시되면 인덱싱하지 마십시오.
생성된 파일의 스타일 규칙
- H1은 프로젝트 이름이며, 다른 것은 없습니다. 슬로건도 태그라인도 아닙니다.
- 인용 블록 요약은 한 문장이며, 현재 시제, 사실 기반입니다. 마케팅 언어 사용 금지.
- 링크 항목 설명은 한 줄, ~12단어 이내. LLM에게 이 파일이 왜 중요한지 알려주고, 그 내용을 그대로 말하지 마십시오.
- 섹션 내 순서 중요 — 가장 중요한 것을 먼저. 모델이 중간에 읽기를 중단할 수 있습니다.
- 이모지 없음, 장식적 마크다운 없음, 중첩 목록 없음. 형식은 의도적으로 평평합니다.
- 저장소 내 파일에는 상대 경로를 선호하고 (
docs/getting-started.md), 외부 리소스에만 절대 URL을 사용합니다.
이 스킬의 파일
SKILL.md— 이 파일format.md— llmstxt.org 형식 참조를 요약한 것scripts/discover.sh— 인덱싱할 후보 파일 열거scripts/validate.sh— 생성된llms.txt를 기본 스펙에 대해 린트