Configuration

Delta works with zero config. Customize when you need more control.


Config File

After delta init, configuration is stored at .delta/config.json:

{
  "version": "1.0",
  "budget": {
    "preset": "conservative",
    "maxTokens": 2000,
    "autoEscalate": true
  },
  "graph": {
    "maxDepth": 2,
    "includeTestFiles": true,
    "resolveNodeModules": false
  },
  "relevance": {
    "semanticThreshold": 0.45,
    "embeddingModel": "nomic-embed-text",
    "combineWithGraph": true
  },
  "indexing": {
    "watchMode": false,
    "incrementalDelay": 500
  },
  "embeddings": {
    "provider": "ollama",
    "model": "nomic-embed-text",
    "baseUrl": "http://localhost:11434",
    "dimensions": 768,
    "timeout": 30000
  }
}

Token Budget

Presets

Preset Tokens Best for
conservative 2,000 Single file changes, quick fixes
balanced 4,000 Feature work, multi-file changes
thorough 8,000 Large refactors, architecture changes

Override per task

delta run "task" --budget 4000
delta run "task" --budget 8000

Auto-Escalation

Delta automatically expands the budget based on the number of changed files:

Changed Files Budget
< 5 files Configured budget (no change)
5–9 files balanced (4,000 tokens)
≥ 10 files thorough (8,000 tokens)

Disable with:

{
  "budget": {
    "autoEscalate": false
  }
}

Embedding Providers

Ollama (Default — Local, Free, Private)

{
  "embeddings": {
    "provider": "ollama",
    "model": "nomic-embed-text",
    "baseUrl": "http://localhost:11434",
    "dimensions": 768,
    "timeout": 30000
  }
}

Setup:

# Install from https://ollama.ai
ollama pull nomic-embed-text
ollama serve

Ollama runs entirely on your machine. No data leaves your computer.

OpenAI

{
  "embeddings": {
    "provider": "openai",
    "model": "text-embedding-3-small",
    "dimensions": 1536
  }
}

Set your API key:

export OPENAI_API_KEY="sk-..."

Azure OpenAI

{
  "embeddings": {
    "provider": "azure",
    "model": "text-embedding-ada-002",
    "dimensions": 1536
  }
}

Set your credentials:

export AZURE_OPENAI_API_KEY="your-key"
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com"

LM Studio

{
  "embeddings": {
    "provider": "ollama",
    "model": "nomic-embed-text",
    "baseUrl": "http://localhost:1234"
  }
}

LM Studio uses the same OpenAI-compatible API as Ollama. Just change the baseUrl.

Check status

delta providers

Graph Settings

{
  "graph": {
    "maxDepth": 2,
    "includeTestFiles": true,
    "resolveNodeModules": false
  }
}
Setting Default Description
maxDepth 2 How deep to trace the dependency graph from changed files
includeTestFiles true Whether to include test files in the graph
resolveNodeModules false Whether to resolve imports from node_modules

Relevance Scoring

{
  "relevance": {
    "semanticThreshold": 0.45,
    "embeddingModel": "nomic-embed-text",
    "combineWithGraph": true
  }
}
Setting Default Description
semanticThreshold 0.45 Minimum cosine similarity score to include a file
embeddingModel nomic-embed-text Embedding model for semantic scoring
combineWithGraph true Combine semantic + graph scores (recommended)

.deltaignore

Works like .gitignore. Place at your project root. Delta also inherits your .gitignore automatically.

# .deltaignore
node_modules/**
dist/**
build/**
*.generated.ts
*.min.js
coverage/**
.next/**
__pycache__/**
*.pyc
vendor/**

You don’t need to add node_modules or dist — Delta ignores them by default. Use .deltaignore for project-specific exclusions.


Language Support

Tier 1 — Full AST Parsing (tree-sitter)

Language Extensions Symbol Extraction
TypeScript .ts, .tsx Functions, classes, interfaces, types, imports, exports
JavaScript .js, .jsx, .mjs Functions, classes, imports, exports
Python .py Functions, classes, imports, decorators
Go .go Functions, types, interfaces, imports
Rust .rs Functions, structs, traits, impls, mods
Java .java Classes, methods, interfaces, imports

Tier 2 — Pattern Extraction (regex)

C, C++, C#, Ruby, PHP, Swift, Kotlin, Scala, Dart, R, Lua, Perl, Haskell, Elixir, Clojure, and more.

Extracts function signatures, class definitions, and imports via regex patterns.

Tier 3 — Notebook Support

Format Extensions
Jupyter Notebook .ipynb
Databricks .dbc

Extracts code cells, markdown cells, and metadata.

Tier 4 — Minimal Indexing

Shell scripts (.sh, .bash, .zsh), config files (.yml, .json, .toml, .xml), markup (.md, .html), styles (.css, .scss, .less), and 20+ additional formats.

Indexed for change detection, dependency tracking, and token counting. No symbol extraction.

56+ file extensions supported across all tiers.


Performance Tuning

Setting Impact
Lower maxDepth Faster indexing, less context
Higher semanticThreshold Fewer files included, more precise
resolveNodeModules: false Much faster indexing (default)
includeTestFiles: false Reduces index size for large test suites
autoEscalate: false Consistent budget, predictable costs

Monorepo Support

Delta auto-detects monorepo setups:

Tool Detection
Nx nx.json
Turborepo turbo.json
pnpm workspaces pnpm-workspace.yaml
npm/yarn workspaces package.json workspaces field

Cross-package imports are resolved automatically:

import { Button } from '@myapp/ui'
// → resolves to packages/ui/src/index.ts