config

Purpose

Show and inspect the resolved project configuration sourced from .idx.yml at the Git project root.

Usage

idx config
idx config show

Subcommands

Subcommand Description
show Display the full resolved configuration table and flag which values come from .idx.yml

Arguments

  • config (no subcommand): displays usage.
  • show: no positional arguments.

Flags

  • Global: --quiet, -q.

Behavior and Side Effects

  • Read-only command; no filesystem writes.
  • Config is resolved from .idx.yml at the Git project root.
  • Precedence chain: built-in defaults โ†’ .idx.yml โ†’ CLI flags.
  • All 13 configurable keys are displayed with their resolved value, source, and original default for overridden keys.

Output โ€” idx config show

When .idx.yml exists:

  Config  /home/user/my-project/.idx.yml

  search.format         json     โ† .idx.yml   (default: text)
  search.size           0        ยท default
  search.operator       AND      ยท default
  search.context        0        ยท default
  search.relaxation              ยท default
  search.cache_ttl      1m0s     ยท default
  search.max_workers    4        ยท default
  watch.debounce        750ms    ยท default
  index.exclude         []       ยท default
  bm25.k1               1.5      ยท default
  bm25.b                0.75     ยท default
  bm25.proximity_weight 3        ยท default
  log.level             error    ยท default
  • Keys set in .idx.yml: rendered bold indigo with source โ† .idx.yml (default: <value>).
  • Keys at built-in defaults: muted with source ยท default.

When no .idx.yml exists:

  No .idx.yml found โ€” using built-in defaults.
  Tip: create .idx.yml at the project root to customise defaults.

Errors

  • No command-specific runtime errors.

Reference โ€” All Configurable Keys

Key Type Default Notes
search.format string text text or json
search.size int 0 0 = unlimited
search.operator string AND AND or OR
search.context int 0 Context lines around matches
search.relaxation string "" Format >N; activates AND relaxation
search.cache_ttl duration 1m BM25 result cache TTL (e.g. 30s, 5m)
search.max_workers int 4 Parallel index-load workers
watch.debounce duration 750ms Debounce window for file events
index.exclude list [] Glob patterns to exclude from indexing
bm25.k1 float 1.5 BM25 term-frequency saturation
bm25.b float 0.75 BM25 document-length normalization
bm25.proximity_weight float 3.0 BM25 proximity bonus weight
log.level string error debug, info, warn, error

.idx.yml Format

# .idx.yml โ€” place at the Git project root
search:
  format: json        # text | json
  size: 20            # 0 = unlimited
  operator: AND       # AND | OR
  context: 0
  relaxation: ""      # "" = off | ">3" = relax when >3 terms
  cache_ttl: 1m
  max_workers: 4

watch:
  debounce: 750ms

index:
  exclude:
    - vendor/
    - "*.pb.go"

bm25:
  k1: 1.5
  b: 0.75
  proximity_weight: 3.0

log:
  level: error        # debug | info | warn | error

Notes:

  • Duration values must be strings (e.g. 250ms, 2m, 30s). Invalid durations fail at startup.
  • index.exclude values are glob patterns matched against relative paths from the project root.
  • log.level is also overridable via the IDX_LOG_LEVEL environment variable; env takes precedence over .idx.yml.
  • Only project-level config is supported. There is no global ~/.idx/config.yml.

Examples

idx config show