Skip to content

Configuration

Project DNA

SYNAPSEED uses a cascading configuration system called DNA (Dynamic Navigation Architecture). Configuration is loaded with the following priority:

  1. Project-level.synapseed/dna.yaml (highest priority)
  2. User-level~/.config/synapseed/dna.yaml
  3. Embedded defaults (lowest priority)

Configuration File

Create .synapseed/dna.yaml in your project root:

yaml
# Workspace layout strategy
workspace_strategy: monorepo

# Preferred libraries for architecture guidance
preferred_libs:
  async: tokio
  json: serde_json
  error: thiserror
  cli: clap
  http: reqwest

# Naming conventions
naming:
  core_crate: core
  bin_name: synapseed

# Enabled plugins
plugins:
  - cortex
  - husk
  - root
  - chronos

# DLP sensitivity level
dlp_level: standard

# Custom DLP rules
dlp_custom_rules:
  - name: internal_id
    pattern: 'INTERNAL-\d{6}'
    action: redact

# DLP false-positive whitelist (regex patterns)
dlp_whitelist:
  - CancellationToken
  - test_secret_\w+

# Search index settings
search:
  persistence: true
  embeddings: true
  temporal_decay_lambda: 0.01

# Context configuration (Whisper symbol pruning)
context:
  max_symbols: 5

# HCI (Human-Computer Interaction) settings
hci:
  background_indexing: true
  port_retry: true
  adaptive_linting: true
  mentor_mode: true
  session_persistence: true
  memory_ceiling_files: 10000
  model_profile: null  # "atomic", "molecular", or "galactic"

# Code security pattern scanning
security_patterns:
  enabled: true
  categories: []  # empty = all active

# Architect settings

Fields Reference

workspace_strategy

Strategy for workspace layout. Used by the architect tool to provide guidance.

  • monorepo — Single repository with multiple crates (default)
  • polyrepo — Multiple repositories

preferred_libs

A key-value map of technology categories to preferred libraries. The consult MCP tool uses this to guide the LLM.

naming

  • core_crate — Name of the core/shared crate
  • bin_name — Name of the main binary

plugins

List of enabled plugins. Available plugins:

PluginDescription
cortexAST parsing & code graph
huskDLP & secret scanning
rootCommand sentinel
chronosGit history analysis

dlp_level

Controls how aggressively the DLP engine scans content.

LevelBehavior
offNo scanning
lowOnly high-confidence patterns (AWS keys, private keys)
standardDefault — all patterns including generic secrets
strictStandard + extended patterns
paranoidEverything, including heuristic detection

dlp_custom_rules

A list of custom DLP rules merged with built-in defaults.

FieldTypeDescription
namestringHuman-readable rule name
patternstringRegex or literal pattern to match
actionstringredact, deny, audit, or allow

dlp_whitelist

A list of regex patterns to suppress false-positive DLP findings. If a finding's matched text contains any whitelist pattern, it is ignored.

Example: "CancellationToken" suppresses generic_secret hits on Rust concurrency types.

Settings for the semantic search index.

FieldTypeDefaultDescription
persistencebooleanfalsePersist the Tantivy index to disk at .synapseed/index/
embeddingsbooleanfalseEnable vector embedding similarity search. Downloads ~22MB model on first use to .synapseed/models/. Required for the similar tool.
temporal_decay_lambdafloat0.01Decay rate for temporal search boost. Higher values = stronger recency preference. Score formula: bm25 × (0.7 + 0.3 × e^(−λ × age_days)).

context

Controls how many symbols the Whisper intent router includes in responses.

FieldTypeDefaultDescription
max_symbolsinteger5Maximum symbols to include in context. Lower values reduce noise for ultra-small models (<3B).

hci

Human-Computer Interaction settings. Controls perceptual quality features.

FieldTypeDefaultDescription
background_indexingbooleantrueEnable non-blocking code indexing at startup
port_retrybooleantrueEnable automatic port retry for the telemetry gRPC server
adaptive_lintingbooleantrueEnable debounce escalation during rapid edits
mentor_modebooleantrueResponse depth adapts to query complexity
session_persistencebooleantrueEnable cross-session continuity
memory_ceiling_filesintegernullMax files to index (memory ceiling). null = unlimited (default: 10000)
model_profilestringnullCognitive profile override: "atomic", "molecular", or "galactic". Overrides auto-detected tier from MCP client fingerprinting.

security_patterns

Controls which vulnerability categories are checked by the scan tool's code pattern scanner.

FieldTypeDefaultDescription
enabledbooleantrueEnable code pattern scanning
categorieslist[]Active categories: sql_injection, xss, command_injection, path_traversal. Empty = all active.

architect

Settings for the architecture analysis engine.

FieldTypeDefaultDescription
density_high_thresholdfloat0.5Topological density above this triggers a "high density" warning
density_low_thresholdfloat0.02Topological density below this (with ≥ density_low_min_modules modules) triggers a "low density" warning
density_low_min_modulesinteger10Minimum module count before low-density warnings apply
god_object_max_symbolsinteger50Max public symbols before flagging as god object
god_object_max_linesinteger1000Max approximate lines before flagging as god object
god_object_min_fan_ininteger5Min fan-in to combine with size for god object detection
layerslist[]Layer definitions for violation detection. Each entry has name, rank, and modules.

Environment Variables

VariableDefaultDescription
RUST_LOGinfoLog level filter (trace/debug/info/warn/error)
SYNAPSEED_LOG_FORMATcompactSet to json for machine-readable logs
SYNAPSEED_SELF_TELEMETRY(unset)Set to 1 to enable self-instrumentation

Released under the Apache License 2.0.