Skip to main content
smolbren reads its configuration from ~/.smolbren/config.json. You can manage vaults through the smolbren vault CLI commands, or edit the file directly — whichever fits your workflow.

Location

The default config path is ~/.smolbren/config.json. You can override it on any command using the global --config flag:
smolbren --config /path/to/my-config.json search "query"
This is especially useful for testing, scripting, or maintaining separate configurations for different projects.

Schema

The config file is a flat JSON object with two top-level fields:
FieldTypeRequiredDescription
vaultsobjectNoMaps vault names to their absolute filesystem paths. Keys are the names you pass to --vault <name>.
default_vaultstringNoThe vault used when --vault is not specified on a command.

vaults

An object whose keys are vault names and whose values are absolute paths to the root directory of each Markdown vault (e.g. your Obsidian folder). Names are arbitrary strings — choose something memorable.
"vaults": {
  "personal": "/Users/you/Documents/Notes",
  "work": "/Users/you/work-notes"
}

default_vault

An optional string naming the vault to use when --vault is not passed. Must match a key in vaults. If omitted and --vault is also not passed, smolbren will return an error asking you to specify one.
"default_vault": "personal"

Example config

{
  "vaults": {
    "personal": "/Users/you/Documents/Notes",
    "work": "/Users/you/work-notes"
  },
  "default_vault": "personal"
}

Working with multiple vaults

You can register as many vaults as you like and switch between them at runtime. 1. Register your first vault and make it the default:
smolbren vault add personal /Users/you/Documents/Notes --default
2. Register a second vault:
smolbren vault add work /Users/you/work-notes
Your config.json now contains both vaults, with personal as the default. 3. Index and search each vault:
# Uses the default vault (personal)
smolbren index
smolbren search "meeting notes"

# Explicitly target the work vault
smolbren --vault work index
smolbren --vault work search "quarterly review"
4. List all registered vaults:
smolbren vault list

Data directory

For each registered vault, smolbren automatically creates a data directory at:
~/.smolbren/vaults/<name>/
This directory sits alongside config.json (or adjacent to whatever config path you specify via --config). It contains three managed files:
FileDescription
notes.lanceLanceDB dataset holding indexed note embeddings and BM25-searchable content.
edges.lanceLanceDB dataset storing the graph edges between notes (links, backlinks, typed relationships).
ontology.jsonThe inferred ontology for the vault — note types, edge types, and their counts.
These files are created and updated by smolbren index. You do not need to read or modify them directly.
The config file is updated automatically when you run smolbren vault add or smolbren vault remove. Manual edits to config.json are equally valid — changes take effect on the next command you run.
If you manually edit config.json and set a vault path to a directory that does not exist, smolbren will return an error when you attempt to run index or search against that vault. Always ensure vault paths point to existing directories containing Markdown files.