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를 참조하세요.