Referencelore.config.yaml

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 로 검증합니다. 잘못된 값은 위치·고치는 법까지 출력됩니다.