diffr-cli 0.1.1

Structural diffs with a streaming API and interactive terminal frontend.
# Bundled defaults. First settings edits write a resolved copy to the user config.
version = 1

[plugins]
order = [
    "bundled.context",
    "bundled.hide-files",
    "bundled.deleted-bodies",
    "bundled.summarize",
    "bundled.test-bodies",
    "bundled.removed-runs",
    "bundled.group",
]

[plugins.bundled.context]
enabled = true
lines = 3

[plugins.bundled.deleted-bodies]
enabled = true
min_lines = 12

[plugins.bundled.group]
enabled = true

[plugins.bundled.hide-files]
enabled = true
tags = [
    "generated",
    "vendored",
    "test",
]
deleted = true

[plugins.bundled.removed-runs]
enabled = true
min_lines = 5

[plugins.bundled.summarize]
enabled = false
provider = "gemini"
model = "gemini-3.8-flash"
min_lines = 20
tests = true
test_min_lines = 20
request_timeout_ms = 60000
max_concurrency = 16
retries = 3
system_prompt = """For each listed fold, rewrite that function body as short pseudocode. Keep the names. No prose, no comments, no code fences. Use as few lines as possible: about one pseudocode line per five source lines, and never more than a third of the body's lines. When a fold lists a doc, also set "summary" to one sentence copied verbatim from that doc; otherwise leave it empty. Answer with a JSON array of {"id", "summary", "pseudocode"} objects, one per fold."""

[plugins.bundled.test-bodies]
enabled = true
min_lines = 3

[theme]
name = "default-dark"

[diff]
byte_limit = 1000000
graph_limit = 3000000
parse_error_limit = 0