Configuration
Directory Structure
Section titled “Directory Structure”.lore/ config.toml # Project configurationSingle file, in a directory for future extensibility. The .lore/ directory is committed to the repo (shared config for the team).
Config Schema
Section titled “Config Schema”[protocol]version = "1.0" # Protocol version (required)
[trailers]required = [] # Trailers that must be present # e.g., ["Constraint", "Confidence"] # Empty = no required trailers (default)custom = [] # Team-defined custom trailer names # e.g., ["Ticket", "Domain-context"]
[validation]strict = false # true = required trailers are errors # false = required trailers are warningsmax_message_lines = 50 # Warn if commit exceeds thisintent_max_length = 72 # Max subject line length
[stale]older_than = "6m" # Default staleness age thresholddrift_threshold = 20 # Commits-since-atom threshold
[output]default_format = "text" # Default output format: text | json
[follow]max_depth = 3 # Max depth for --follow traversalConfiguration Options
Section titled “Configuration Options”[trailers] section
Section titled “[trailers] section”required — List of trailer names that must be present in every Lore-enriched commit. Enforcement severity depends on [validation].strict:
[trailers]required = ["Constraint", "Confidence", "Scope-risk"]custom — Team-defined trailer names. Custom trailers are preserved and queryable but have no built-in semantics:
[trailers]custom = ["Ticket", "Domain-context", "Review-status"][validation] section
Section titled “[validation] section”strict — When true, missing required trailers are errors (exit code 1). When false, they are warnings (exit code 2).
max_message_lines — Trigger a warning if the commit message exceeds this many lines. Default: 50.
intent_max_length — Maximum length for the intent (subject) line. Default: 72.
[stale] section
Section titled “[stale] section”older_than — Time threshold for the age staleness signal. Supports d (days), w (weeks), m (months), y (years). Default: 6m.
drift_threshold — Number of commits to a file since an atom before it’s flagged as potentially stale. Default: 20.
[follow] section
Section titled “[follow] section”max_depth — Maximum traversal depth for --follow queries. Prevents runaway traversals in heavily-linked projects. Default: 3.
Monorepo Support
Section titled “Monorepo Support”For monorepos, place additional .lore/config.toml files in subdirectories:
repo/ .lore/config.toml # root config packages/ auth/ .lore/config.toml # auth package overrides billing/ .lore/config.toml # billing package overridesThe CLI uses the nearest .lore/config.toml walking up from the target path. Root config is the fallback.
Configs are merged, not replaced — child configs override specific keys from parent.