Skip to main content

Configuration

CIAK stores its configuration in the .ciak/ directory inside your project. This page documents the configuration files and their options.

Project Configuration — .ciak/config.toml​

Created by ciak init, this file controls project settings, file monitoring, database, and parser behavior.

[project]​

[project]
name = "my-project"
languages = [
"python",
"javascript",
"typescript",
"rust",
]
KeyTypeDescription
namestringProject name (used for identification)
languagesstring[]Languages to enable for parsing

[file_monitor]​

Controls which files are watched and how changes are detected.

[file_monitor]
ignore_patterns = [
".git/**",
"node_modules/**",
"**/target/**",
"**/__pycache__/**",
"**/dist/**",
"**/.venv/**",
]
debounce_ms = 300
recursive = true
KeyTypeDefaultDescription
ignore_patternsstring[](see above)Glob patterns for files/directories to ignore
debounce_msinteger300Milliseconds to wait before processing file changes
recursivebooleantrueWatch subdirectories recursively

[database]​

[database]
path = ".ciak/database.db"
KeyTypeDefaultDescription
pathstring.ciak/database.dbPath to the SQLite database file

[parser]​

[parser]
max_file_size = 1048576 # 1MB
KeyTypeDefaultDescription
max_file_sizeinteger1048576Maximum file size in bytes to parse (default: 1 MB)

[ranking]​

Controls path-based ranking priors for unified symbol search. By default, CIAK slightly boosts implementation paths and demotes test/spec/sample paths.

[ranking]
demote_patterns = [
"**/test/**",
"**/tests/**",
"**/__tests__/**",
"**/*.spec.*",
"**/*.test.*",
"**/samples/**",
"**/examples/**",
"**/fixtures/**",
"**/mocks/**",
"**/__mocks__/**",
]
demote_factor = 0.4

boost_patterns = [
"src/**",
"lib/**",
"packages/*/src/**",
]
boost_factor = 1.2
KeyTypeDefaultDescription
demote_patternsstring[](see above)Glob patterns to demote in search scoring
demote_factornumber0.4Multiplier for demoted paths (must be between 0.0 and 1.0)
boost_patternsstring[](see above)Glob patterns to boost in search scoring
boost_factornumber1.2Multiplier for boosted paths (must be >= 1.0)

Notes:

  • If demote_patterns = [], demotion is disabled.
  • If boost_patterns = [], boosting is disabled.
  • If both lists are empty, path-prior ranking is neutral.

Knowledge Base — .ciak/knowledge.json​

Created by ciak knowledge init, this file defines domain-specific terms, acronyms, and synonyms. Import it into the database with ciak sync knowledge.

Structure​

{
"terms": [...],
"acronyms": [...],
"synonyms": [...]
}

Terms​

Technical terms with definitions and metadata:

{
"id": "unique-id",
"term": "JWT",
"definition": "JSON Web Token - a compact token format for authentication",
"category": "security",
"synonyms": ["json web token", "bearer token"],
"related_terms": ["OAuth", "authentication"],
"programming_languages": ["typescript", "python"],
"confidence": 1.0
}
FieldTypeRequiredDescription
idstring✅Unique identifier
termstring✅The technical term
definitionstring✅Human-readable definition
categorystring—Category for grouping (e.g., "security", "database")
synonymsstring[]—Alternative names for this term
related_termsstring[]—Related concepts
programming_languagesstring[]—Languages where this term is relevant
confidencenumber—Confidence score 0.0–1.0 (default: 1.0)

Acronyms​

Acronym expansions:

{
"id": "unique-id",
"acronym": "API",
"expansion": "Application Programming Interface",
"context": "web development",
"domain": "general",
"confidence": 1.0,
"usage_frequency": "high"
}
FieldTypeRequiredDescription
idstring✅Unique identifier
acronymstring✅The acronym
expansionstring✅What the acronym stands for
contextstring—Usage context
domainstring—Domain (e.g., "general", "security")
confidencenumber—Confidence score 0.0–1.0
usage_frequencystring—How often it's used: "high", "medium", "low"

Synonyms​

Bidirectional term mappings:

{
"id": "unique-id",
"source_term": "authenticate",
"target_term": "login",
"context": "user authentication",
"confidence": 0.9,
"mapping_type": "bidirectional",
"domain": "security"
}
FieldTypeRequiredDescription
idstring✅Unique identifier
source_termstring✅First term
target_termstring✅Second term
contextstring—Usage context
confidencenumber—Confidence score 0.0–1.0
mapping_typestring—bidirectional or unidirectional
domainstring—Domain category

License File — ~/.ciak/license​

Stored globally at ~/.ciak/license, this JSON file is created by ciak license activate and contains your subscription tier, user ID, expiration date, and enabled features. It is used automatically by cloud sync and feature gating.

See license for details.

Environment Variables​

These environment variables can override configuration:

VariableDescription
CIAK_DB_PATHOverride the database path
EMBEDDING_MODEL_PATHOverride the embedding model path
QDRANT_URLQdrant server URL for cloud mode (default: http://localhost:6333)
SYNC_WORKER_URLSync worker URL for cloud mode (default: http://localhost:8090)