lore.config.yaml
전체 스키마와 기본값입니다. 모든 필드는 zod 스키마 와 1:1 매핑됩니다.
version: 1 # 항상 1 (v0)
projects:
server: # 키는 자유 — `--project <key>` 로 지정 가능
root: ./backend # 상대 경로 (config 기준)
language: python # 'python' | 'typescript'
include: # glob 배열 (최소 1개)
- '**/views.py'
- '**/models.py'
exclude: [] # 기본 빈 배열
output: null # (deprecated) 단일 통파일 출력 경로
domains: # L1 토큰
auth:
label: 인증 # 사람이 읽는 표시명
icon: 🔐 # (선택) L2 frontmatter · INDEX.md 의 카테고리 아이콘. 미지정 시 슬러그 기반 자동 선택
subdomains: [profile, session]
flows:
dir: ./.lore/flows # synthesize 가 만드는 사람용 L2 보고서 (publish · chat 가 읽는 곳)
draftDir: ./.lore/draft # sync 가 만드는 원천 L3 사실 — synthesize 의 입력
cacheDir: ./.lore/.synth-cache # 카테고리별 해시 매니페스트 (변경된 카테고리만 재합성)
indexFile: INDEX.md # 자동 생성 인덱스 파일명 (flows 디렉토리에 위치)
extract:
requireDomain: true
requireBusinessLogic: true
requireHistoryOnDataChange: warn # 'strict' | 'warn' | 'off'
minSubstantiveLines: 5
llm:
provider: anthropic # 'anthropic' | 'openai'
model: claude-opus-4-7
apiKeyEnv: ANTHROPIC_API_KEY
temperature: 0.3
publish: # 선택
target: ~/dev/projects/onboarding/lore-board
branch: main
project: airpoint # content/projects/<project>/ 디렉토리명
mode: direct # 'direct' | 'pr'
authorName: 'Lore Bot'
authorEmail: 'lore@terracelab.co.kr'
prefix: 'chore(docs): sync'
skipPaths:
- content/handbook/**
- content/projects.json
dashboard: # v1+
enabled: false
port: 4321검증
lore 의 모든 명령은 시작 시 config 를 zod 로 검증합니다. 잘못된 값은 위치·고치는 법까지 출력됩니다.