Config Schema
Full Configuration File
Complete structure of .igraph/config.json generated by igraph init:
jsonc
{
"embedding": {
"baseURL": "http://localhost:8080/v1",
"model": "bge-m3",
"dimensions": 1024,
"batchSize": 32
},
"llm": {
"baseURL": "https://api.openai.com/v1",
"model": "gpt-4o-mini",
"fileSummaryModel": "gpt-4o",
"temperature": 0,
"maxConcurrency": 5,
"promptVersion": "v1.0"
},
"parser": {
"languages": ["typescript", "javascript"],
"include": ["**/*"],
"exclude": [
"node_modules/**",
"dist/**",
"**/*.test.*",
"**/*.spec.*",
"**/*.d.ts"
]
},
"retrieval": {
"fileTopK": 10,
"nodeTopK": 10,
"fallbackThreshold": 0.75,
"graphHops": 2,
"fusion": "rrf",
"rrfK": 60,
"denseWeight": 1.0,
"ftsWeight": 1.0,
"resourceTopK": 3
},
"multimodal": {
"strongLinkThreshold": 0.85,
"weakLinkThreshold": 0.7,
"llmConfirmWeakLinks": false
}
}Section Reference
embedding
Controls vectorization behavior.
| Field | Type | Default | Description |
|---|---|---|---|
baseURL | string | http://localhost:8080/v1 | Embedding API endpoint. Can be overridden by IGRAPH_EMBEDDING_BASE_URL env var |
model | string | bge-m3 | Embedding model name |
dimensions | number | 1024 | Vector dimensions; must match the model |
batchSize | number | 32 | Batch embedding size |
llm
Controls LLM semantic summary generation.
| Field | Type | Default | Description |
|---|---|---|---|
baseURL | string | https://api.openai.com/v1 | LLM API endpoint. Can be overridden by IGRAPH_LLM_BASE_URL env var |
model | string | gpt-4o-mini | Model for symbol summaries |
fileSummaryModel | string | gpt-4o | Model for file summaries |
temperature | number | 0 | Generation temperature (0 = deterministic) |
maxConcurrency | number | 5 | Max concurrent requests |
promptVersion | string | v1.0 | Prompt version identifier; changing triggers full rebuild |
parser
Controls source code parsing behavior.
| Field | Type | Default | Description |
|---|---|---|---|
languages | string[] | ["typescript", "javascript"] | Enabled language list |
include | string[] | ["**/*"] | File include glob patterns |
exclude | string[] | See above | File exclude glob patterns |
retrieval
Controls retrieval behavior.
| Field | Type | Default | Description |
|---|---|---|---|
fileTopK | number | 10 | File-level retrieval count |
nodeTopK | number | 10 | Symbol-level retrieval count |
fallbackThreshold | number | 0.75 | Fallback threshold |
graphHops | number | 2 | Graph expansion hops (0 = no expansion) |
fusion | string | rrf | Fusion strategy |
rrfK | number | 60 | RRF parameter K value |
denseWeight | number | 1.0 | Dense channel weight |
ftsWeight | number | 1.0 | FTS5 channel weight |
resourceTopK | number | 3 | Independent resource retrieval Top-K (searches resource_vectors directly, not through resource_edges) |
multimodal
Controls multimodal resource association behavior.
| Field | Type | Default | Description |
|---|---|---|---|
strongLinkThreshold | number | 0.85 | Strong association threshold |
weakLinkThreshold | number | 0.7 | Weak association threshold |
llmConfirmWeakLinks | boolean | false | Whether to use LLM to confirm weak associations |
Security Constraint
DANGER
Config files must never contain any credential fields (such as apiKey, token, secret, etc.). IGraph's config validation actively scans for and rejects config files containing these fields.
API Keys and other sensitive data can only be provided via environment variables.