cyberchitta/llm-context.py
요약
LLM 개발 시 프로젝트 컨텍스트를 지능적으로 관리하고 필터링하는 도구인 llm-context를 소개합니다. 규칙 기반의 파일 선택과 MCP(Model Context Protocol) 지원을 통해 토큰 제한 문제를 해결하고 효율적인 개발 워크플로우를 제공합니다.
핵심 포인트
- 조합 가능한 규칙을 통한 작업별 맞춤형 컨텍스트 제공
- CLI 명령어 및 MCP 도구를 통한 AI 에이전트와의 연동 지원
- 수동 파일 복사 번거로움과 토큰 제한 문제 해결
- Claude Code 및 Claude Desktop 환경 최적화
LLM 개발 워크플로우를 위한 스마트한 컨텍스트 (context) 관리. 지능적인 선택과 규칙 기반 필터링을 통해 관련 프로젝트 파일을 즉시 공유하세요.
LLM 대화에 적절한 컨텍스트를 제공하는 과정은 번거로운 작업입니다:
- 관련 파일을 수동으로 찾고 복사하는 데 시간이 낭비됨
- 컨텍스트가 너무 많으면 토큰 제한 (token limits)에 걸리고, 너무 적으면 중요한 세부 사항을 놓침
- 추가 파일에 대한 AI 요청 시 수동으로 가져와야 함
- 개발 세션 동안 무엇이 변경되었는지 추적하기 어려움
llm-context는 조합 가능한 규칙 (composable rules)을 통해 집중된 작업별 프로젝트 컨텍스트를 제공합니다.
채팅 인터페이스를 사용하는 사람을 위해:
lc-select # 스마트한 파일 선택
lc-context # 포맷팅된 컨텍스트를 클립보드에 복사
# 붙여넣고 작업하세요 - AI는 MCP를 통해 추가 파일에 접근할 수 있습니다
CLI 접근 권한이 있는 AI 에이전트를 위해:
lc-preview tmp-prm-auth # 규칙이 올바른 파일을 선택하는지 검증
lc-context tmp-prm-auth # 서브 에이전트(sub-agent)를 위한 집중된 컨텍스트 가져오기
채팅 내 AI 에이전트 (MCP 도구)를 위해:
lc_outlines
- 현재 규칙으로부터 발췌된 컨텍스트 생성
lc_preview
- 사용 전 규칙의 유효성 검증
lc_missing
- 필요에 따라 특정 파일/구현 사항 가져오기
참고: 이 프로젝트는 개발 중에 코드를 공유하기 위해 LLM Context 자체를 사용하여 여러 Claude Sonnets (3.5, 3.6, 3.7, 4.0) 및 Groks (3, 4)와 협업하여 개발되었습니다. 모든 코드는 @restlessronin에 의해 인간의 큐레이션 (human-curated)을 거쳤습니다.
uv tool install "llm-context>=0.6.0"
만약 당신이 작업 컨텍스트 큐레이션을 돕기 위해 llm-context를 설정하는 에이전트라면, 프로젝트당 한 번씩 다음을 실행하세요:
uv tool install "llm-context>=0.6.0" # lc-* 명령어를 전역적으로 설치합니다
cd <project-root>
lc-init # .llm-context/를 생성하고, lc-curate-context 스킬을 .claude/skills/로 복사합니다
lc-init 이후에는 lc-curate-context 스킬이 이 프로젝트의 Claude Code 세션에 로드됩니다. 이는 최소한의 작업 규칙을 구성하는 방법과 컨텍스트를 생성하기 전에 lc-preview로 이를 검증하는 방법을 알려줍니다.
더 최신 버전의 스킬을 사용하려면 uv tool upgrade llm-context를 실행하고 lc-init을 다시 실행하세요.
— 이는 스킬 파일들을 제자리에서(in place) 갱신합니다.
# 일회성 설정
cd your-project
lc-init
...
Claude Desktop 설정(~/Library/Application Support/Claude/claude_desktop_config.json)에 추가하세요:
{
"mcpServers": {
"llm-context": {
...
Claude Desktop을 재시작하세요. 이제 AI는 수동으로 복사할 필요 없이 대화 중에 추가 파일에 접근할 수 있습니다.
셸(shell) 접근 권한이 있는 AI 에이전트는 집중된 컨텍스트(context)를 생성하기 위해 llm-context를 사용합니다:
# 에이전트가 코드베이스를 탐색함
lc-outlines
# 에이전트가 특정 작업을 위한 집중된 규칙을 생성함
...
채팅 환경의 AI 에이전트는 MCP 도구를 사용합니다:
# 코드베이스 구조 탐색
lc_outlines(root_path, rule_name)
# 규칙의 효과 검증
...
규칙(Rules)은 작업에 어떤 컨텍스트를 제공할지 기술하는 YAML+Markdown 파일입니다:
---
description: "Debug API authentication"
compose:
...
프롬프트 규칙 (Prompt Rules (예: prm-): 프로젝트 컨텍스트 생성 (lc/prm-developer))
필터 규칙 (Filter Rules (예: flt-): 파일 포함 제어 (lc/flt-base, lc/flt-no-files))
지침 규칙 (Instruction Rules (예: ins-): 가이드라인 제공 (lc/ins-developer))
스타일 규칙 (Style Rules (예: sty-): 코딩 표준 강제 (lc/sty-python))
발췌 규칙 (Excerpt Rules (예: exc-): 콘텐츠 추출 구성 (lc/exc-base))
더 단순한 규칙들로부터 복잡한 규칙을 빌드할 수 있습니다:
---
instructions: [lc/ins-developer, lc/sty-python]
compose:
...
| 명령어 | 목적 |
|---|---|
lc-init | 프로젝트 설정 초기화 |
lc-select | 현재 규칙을 기반으로 파일 선택 |
lc-context | 컨텍스트 생성 및 복사 |
lc-context -p | 프롬프트 지침 포함 |
lc-context -m | 별도의 메시지로 포맷팅 |
lc-context -nt | 도구 미사용 (수동 워크플로우) |
lc-set-rule <name> | 활성 규칙 전환 |
lc-preview <rule> | 규칙 선택 및 크기 검증 |
lc-outlines | 코드 구조 발췌본 가져오기 |
lc-missing | 파일/구현체 가져오기 (수동 MCP) |
AI가 집중된 작업별 규칙을 생성하도록 도움을 받으세요. 환경에 따라 두 가지 접근 방식이 있습니다:
작동 방식 (How it works): Global skill이 대화형으로 규칙 생성을 안내합니다. MCP 도구를 사용하여 필요에 따라 코드베이스를 검토합니다.
설정 (Setup):
lc-init # ~/.claude/skills/ 경로에 skill 설치
# Claude Desktop 또는 Claude Code 재시작
사용법 (Usage):
# 1. 프로젝트 컨텍스트 공유
lc-context # 모든 규칙 - 개요 포함
# 2. Claude에 붙여넣은 후 다음과 같이 질문하세요:
...
Claude는 다음과 같이 수행합니다:
- 컨텍스트에 이미 포함된 프로젝트 개요 사용
- 필요에 따라
lc-missing을 통해 특정 파일 검토 - 범위(scope)에 대한 명확한 질문 요청
- 최적화된 규칙 (
tmp-prm-<task>.md) 생성 - 검증(validation) 지침 제공
Skill 문서 (Skill documentation) (단계적 공개):
Skill.md
- 빠른 워크플로우, 결정 패턴
PATTERNS.md - 일반적인 규칙 패턴
SYNTAX.md - 상세 참조
EXAMPLES.md - 전체 단계별 안내
TROUBLESHOOTING.md - 문제 해결
작동 방식 (How it works): 포괄적인 규칙 생성 문서를 컨텍스트에 로드하여, 어떤 LLM과도 작업할 수 있습니다.
사용법 (Usage):
# 1. 프레임워크 로드
lc-set-rule lc/prm-rule-create
lc-select
...
포함된 문서 (Included documentation):
lc/ins-rule-intro
- 소개 및 개요
lc/ins-rule-framework - 전체 결정 프레임워크 (decision framework)
| 측면 (Aspect) | Skill | Instruction Rules |
|---|---|---|
| 설정 (Setup) | lc-init으로 자동 설정 | 이미 사용 가능 |
| 상호작용 (Interaction) | 대화형, lc-missing 사용 | 정적 문서 |
| 파일 검토 (File examination) | MCP를 통해 자동 수행 | 수동 또는 AI를 통해 수행 |
| 최적 용도 (Best for) | Claude Desktop/Code | 모든 LLM, 모든 환경 |
| 업데이트 (Updates) | 버전 업그레이드 시 자동 업데이트 | 규칙에 내장됨 |
두 방식 모두 먼저 프로젝트 컨텍스트를 공유해야 합니다. 두 방식 모두 동일한 결과를 생성합니다.
cat > .llm-context/rules/flt-repo-base.md << 'EOF'
---
description: "Repository-specific exclusions"
...
cat > .llm-context/rules/prm-code.md << 'EOF'
---
description: "Main development rule"
...
사용 중인 LLM 환경에 따라 형식을 선택하세요:
| 패턴 | 명령어 | 사용 사례 |
|---|---|---|
| 시스템 메시지 (System Message) | lc-context -p | AI Studio 등 |
| 단일 사용자 메시지 (Single User Message) | lc-context -p -m | Grok 등 |
| 분리된 메시지 (Separate Messages) | lc-prompt + lc-context -m | 유연한 배치 |
| 프로젝트 파일 (포함됨) (Project Files (included)) | lc-context | Claude Projects 등 |
| 프로젝트 파일 (검색 가능) (Project Files (searchable)) | lc-context -m | 컨텍스트에 강제 포함 |
자세한 내용은 배포 패턴 (Deployment Patterns)을 참조하세요.
지능적 선택 (Intelligent Selection): 규칙이 적절한 파일을 자동으로 포함/제외합니다컨텍스트 검증 (Context Validation): 생성 전에 크기와 선택 사항을 미리 봅니다코드 발췌 (Code Excerpting): 토큰을 줄이면서 구조를 추출합니다 (15개 이상의 언어 지원)MCP 통합 (MCP Integration): AI가 수동 개입 없이 추가 파일에 접근합니다조합 가능한 규칙 (Composable Rules): 재사용 가능한 패턴으로부터 복잡한 컨텍스트를 구축합니다AI 지원 생성 (AI-Assisted Creation): 대화형 기술 또는 문서 기반 접근 방식에이전트 친화적 (Agent-Friendly): 자율 운영을 위한 CLI 및 MCP 인터페이스
lc-set-rule prm-code
lc-select
lc-context
...
# 프로젝트 컨텍스트를 먼저 공유합니다
lc-context
# 그런 다음 집중된 규칙을 생성합니다:
...
# 에이전트가 규칙의 유효성을 검증합니다
lc-preview tmp-prm-refactor-auth
# 에이전트가 하위 에이전트를 위한 컨텍스트를 생성합니다
...
# 에이전트가 규칙을 검증합니다
preview = lc_preview(root_path="/path/to/project", rule_name="tmp-prm-task")
# 에이전트가 컨텍스트를 생성합니다
...
모든 경로는 프로젝트 이름 접두사가 붙은 프로젝트 상대 경로 형식을 사용합니다:
/{project-name}/src/module/file.py
/{project-name}/tests/test_module.py
이를 통해 경로 충돌 없이 멀티 프로젝트 컨텍스트 구성을 가능하게 합니다.
규칙 내에서 (In rules), 패턴은 접두사 없이 프로젝트 상대 경로로 작성됩니다:
also-include:
full-files:
- "/src/auth/**" # ✓ 올바름
...
사용자 가이드 (User Guide)- 예제가 포함된 전체 문서설계 철학 (Design Philosophy)- llm-context가 존재하는 이유실제 사례 (Real-world Examples)- 전체 컨텍스트를 효과적으로 사용하는 방법
Apache License, Version 2.0. 자세한 내용은 LICENSE를 참조하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기