Browse once, choose your view
v0.17 folds common read-only views into log and show. Old ls, search, cost, and price commands retain their output and exit behavior.
# Plain log browses a discovered repository
tine log
# List legacy artifacts, or search them
tine log --legacy --limit 5 --json
tine log --search "tag:prod" --json
# ls filters imply legacy mode
tine log --status failed --limit 10
tine show result.tine --cost --json
tine show result.tine --price --at 2026-10-30 --jsonlog --search accepts the search query with --repo, --legacy, and --json. Do not combine it with graph/all/oneline/limit/commit/PR/ref selection or ls filters. Cost and price views are mutually exclusive; --at requires --price. --repo and --legacy cannot accompany --cost or --price. Unsupported combinations are usage errors with exit 2.
Choose a default output format
tine repo config set output.format json
tine repo config get output.format
tine log --legacy --text
tine show result.tine --json
tine repo config unset output.formatOPENTINE_OUTPUT=json overrides the user file. Explicit --json or --text wins for one invocation; both together are an error. Only commands supporting --json use the default. With no setting, existing output is unchanged.
The setting lives in the user's $XDG_CONFIG_HOME/opentine/settings.json, never in a repository. Invalid environment values or malformed settings fail with a one-line error and exit 1 rather than falling back.